Add support for tnl_pop action for gre vport. Signed-off-by: Nir Anteby <nant...@nvidia.com> --- lib/netdev-offload-dpdk.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index c831471..d15302a 100644 --- a/lib/netdev-offload-dpdk.c +++ b/lib/netdev-offload-dpdk.c @@ -845,6 +845,12 @@ vport_to_rte_tunnel(struct netdev *vport, ds_put_format(s_tnl, "flow tunnel create %d type vxlan; ", netdev_dpdk_get_port_id(netdev)); } + } else if (!strcmp(netdev_get_type(vport), "gre")) { + tunnel->type = RTE_FLOW_ITEM_TYPE_GRE; + if (!VLOG_DROP_DBG(&rl)) { + ds_put_format(s_tnl, "flow tunnel create %d type gre; ", + netdev_dpdk_get_port_id(netdev)); + } } else { VLOG_DBG_RL(&rl, "vport type '%s' is not supported", netdev_get_type(vport)); @@ -2099,6 +2105,9 @@ get_vport_netdev_cb(struct netdev *netdev, if (!aux->type || strcmp(netdev_get_type(netdev), aux->type)) { return false; } + if (!strcmp(netdev_get_type(netdev), "gre")) { + return true; + } tnl_cfg = netdev_get_tunnel_config(netdev); if (!tnl_cfg) { @@ -2131,6 +2140,8 @@ get_vport_netdev(const char *dpif_type, if (tunnel->type == RTE_FLOW_ITEM_TYPE_VXLAN) { aux.type = "vxlan"; + } else if (tunnel->type == RTE_FLOW_ITEM_TYPE_GRE) { + aux.type = "gre"; } netdev_ports_traverse(dpif_type, get_vport_netdev_cb, &aux); -- 1.8.3.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev