Signed-off-by: Kyle Mestery <kmest...@cisco.com> Acked-by: Ethan Jackson <et...@nicira.com> --- lib/dpif-linux.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c index b6eba39..34b9532 100644 --- a/lib/dpif-linux.c +++ b/lib/dpif-linux.c @@ -482,12 +482,14 @@ dpif_linux_port_add(struct dpif *dpif_, struct netdev *netdev, uint32_t *port_nop) { struct dpif_linux *dpif = dpif_linux_cast(dpif_); + const struct netdev_tunnel_config *tnl_cfg; const char *name = netdev_vport_get_dpif_port(netdev); const char *type = netdev_get_type(netdev); struct dpif_linux_vport request, reply; struct nl_sock *sock = NULL; uint32_t upcall_pid; struct ofpbuf *buf; + struct ofpbuf options; int error; if (dpif->epoll_fd >= 0) { @@ -514,6 +516,15 @@ dpif_linux_port_add(struct dpif *dpif_, struct netdev *netdev, netdev_linux_ethtool_set_flag(netdev, ETH_FLAG_LRO, "LRO", false); } + tnl_cfg = netdev_get_tunnel_config(netdev); + if (tnl_cfg && tnl_cfg->dst_port != 0) { + ofpbuf_init(&options, 64); + nl_msg_put_u16(&options, OVS_TUNNEL_ATTR_DST_PORT, + htons(tnl_cfg->dst_port)); + request.options = options.data; + request.options_len = options.size; + } + request.port_no = *port_nop; upcall_pid = sock ? nl_sock_pid(sock) : 0; request.upcall_pid = &upcall_pid; -- 1.8.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev