summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-07-31 19:48:22 +0300
committerDavid S. Miller <davem@davemloft.net>2018-07-31 19:48:22 +0300
commit6293e4d674d0f6cb01cd19307dd477988776c521 (patch)
tree06fb904b95b6f0427a577120753713aa39050660 /include/linux
parent39c64d8c876622e766dd2112baf81151dd82da02 (diff)
parent84c6b86875e01a08a0daa6fdd4a01b36bf0bf0b2 (diff)
downloadlinux-6293e4d674d0f6cb01cd19307dd477988776c521.tar.xz
Merge branch 'xsk-improvements-to-RX-queue-check-and-replace'
Jakub Kicinski says: ==================== xsk: improvements to RX queue check and replace First 3 patches of my recent RFC. The first one make the check against real_num_rx_queues slightly more reliable, while the latter two redefine XDP_QUERY_XSK_UMEM slightly to disallow replacing UMEM in the driver at the stack level. I'm not sure where this lays on the bpf vs net trees scale, but there should be no conflicts with either tree. ==================== Acked-by: Björn Töpel <bjorn.topel@intel.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netdevice.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9c917467a2c7..282e2e95ad5b 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -872,10 +872,10 @@ struct netdev_bpf {
struct {
struct bpf_offloaded_map *offmap;
};
- /* XDP_SETUP_XSK_UMEM */
+ /* XDP_QUERY_XSK_UMEM, XDP_SETUP_XSK_UMEM */
struct {
- struct xdp_umem *umem;
- u16 queue_id;
+ struct xdp_umem *umem; /* out for query*/
+ u16 queue_id; /* in for query */
} xsk;
};
};
@@ -3431,8 +3431,9 @@ int netif_set_real_num_tx_queues(struct net_device *dev, unsigned int txq);
int netif_set_real_num_rx_queues(struct net_device *dev, unsigned int rxq);
#else
static inline int netif_set_real_num_rx_queues(struct net_device *dev,
- unsigned int rxq)
+ unsigned int rxqs)
{
+ dev->real_num_rx_queues = rxqs;
return 0;
}
#endif
@@ -3567,6 +3568,7 @@ int dev_change_xdp_fd(struct net_device *dev, struct netlink_ext_ack *extack,
int fd, u32 flags);
u32 __dev_xdp_query(struct net_device *dev, bpf_op_t xdp_op,
enum bpf_netdev_command cmd);
+int xdp_umem_query(struct net_device *dev, u16 queue_id);
int __dev_forward_skb(struct net_device *dev, struct sk_buff *skb);
int dev_forward_skb(struct net_device *dev, struct sk_buff *skb);