2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

netdev-tc-offloads: TC csum option is not matched with tunnel configuration

Tunnels (gre, geneve, vxlan) support 'csum' option (true/false), default is false.
Generated encap TC rule will now be configured as the tunnel configuration.

Signed-off-by: Eli Britstein <elibr@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
This commit is contained in:
Eli Britstein
2018-10-11 10:06:43 +03:00
committed by Simon Horman
parent 5e63eaa969
commit d9677a1f0e
5 changed files with 20 additions and 2 deletions

View File

@@ -1954,6 +1954,7 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
struct netdev *dev;
struct offload_info info;
ovs_be16 dst_port = 0;
uint8_t csum_on = false;
int err;
if (put->flags & DPIF_FP_PROBE) {
@@ -1994,12 +1995,16 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
if (tnl_cfg && tnl_cfg->dst_port != 0) {
dst_port = tnl_cfg->dst_port;
}
if (tnl_cfg) {
csum_on = tnl_cfg->csum;
}
netdev_close(outdev);
}
}
info.dpif_class = dpif_class;
info.tp_dst_port = dst_port;
info.tunnel_csum_on = csum_on;
err = netdev_flow_put(dev, &match,
CONST_CAST(struct nlattr *, put->actions),
put->actions_len,