diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2017-06-21 18:25:03 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-23 13:42:18 -0400 |
commit | 32d602771b624e3a2fc86d5e220e9fa7dced767a (patch) | |
tree | 5e02332e6788e85abc350b9421fc433f66adc6dd /net/core | |
parent | 9bd780f5e0663035d41a95a6b87eced011ba7e2a (diff) | |
download | op-kernel-dev-32d602771b624e3a2fc86d5e220e9fa7dced767a.zip op-kernel-dev-32d602771b624e3a2fc86d5e220e9fa7dced767a.tar.gz |
xdp: pass XDP flags into install handlers
Pass XDP flags to the xdp ndo. This will allow drivers to look
at the mode flags and make decisions about offload.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index df76377..09f9e99 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -6951,7 +6951,7 @@ bool __dev_xdp_attached(struct net_device *dev, xdp_op_t xdp_op, } static int dev_xdp_install(struct net_device *dev, xdp_op_t xdp_op, - struct netlink_ext_ack *extack, + struct netlink_ext_ack *extack, u32 flags, struct bpf_prog *prog) { struct netdev_xdp xdp; @@ -6959,6 +6959,7 @@ static int dev_xdp_install(struct net_device *dev, xdp_op_t xdp_op, memset(&xdp, 0, sizeof(xdp)); xdp.command = XDP_SETUP_PROG; xdp.extack = extack; + xdp.flags = flags; xdp.prog = prog; return xdp_op(dev, &xdp); @@ -7003,7 +7004,7 @@ int dev_change_xdp_fd(struct net_device *dev, struct netlink_ext_ack *extack, return PTR_ERR(prog); } - err = dev_xdp_install(dev, xdp_op, extack, prog); + err = dev_xdp_install(dev, xdp_op, extack, flags, prog); if (err < 0 && prog) bpf_prog_put(prog); |