~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/net/netdev_rx_queue.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/net/netdev_rx_queue.h (Architecture i386) and /include/net/netdev_rx_queue.h (Architecture mips)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _LINUX_NETDEV_RX_QUEUE_H                    2 #ifndef _LINUX_NETDEV_RX_QUEUE_H
  3 #define _LINUX_NETDEV_RX_QUEUE_H                    3 #define _LINUX_NETDEV_RX_QUEUE_H
  4                                                     4 
  5 #include <linux/kobject.h>                          5 #include <linux/kobject.h>
  6 #include <linux/netdevice.h>                        6 #include <linux/netdevice.h>
  7 #include <linux/sysfs.h>                            7 #include <linux/sysfs.h>
  8 #include <net/xdp.h>                                8 #include <net/xdp.h>
  9 #include <net/page_pool/types.h>                    9 #include <net/page_pool/types.h>
 10                                                    10 
 11 /* This structure contains an instance of an R     11 /* This structure contains an instance of an RX queue. */
 12 struct netdev_rx_queue {                           12 struct netdev_rx_queue {
 13         struct xdp_rxq_info             xdp_rx     13         struct xdp_rxq_info             xdp_rxq;
 14 #ifdef CONFIG_RPS                                  14 #ifdef CONFIG_RPS
 15         struct rps_map __rcu            *rps_m     15         struct rps_map __rcu            *rps_map;
 16         struct rps_dev_flow_table __rcu *rps_f     16         struct rps_dev_flow_table __rcu *rps_flow_table;
 17 #endif                                             17 #endif
 18         struct kobject                  kobj;      18         struct kobject                  kobj;
 19         struct net_device               *dev;      19         struct net_device               *dev;
 20         netdevice_tracker               dev_tr     20         netdevice_tracker               dev_tracker;
 21                                                    21 
 22 #ifdef CONFIG_XDP_SOCKETS                          22 #ifdef CONFIG_XDP_SOCKETS
 23         struct xsk_buff_pool            *pool;     23         struct xsk_buff_pool            *pool;
 24 #endif                                             24 #endif
 25         /* NAPI instance for the queue             25         /* NAPI instance for the queue
 26          * Readers and writers must hold RTNL      26          * Readers and writers must hold RTNL
 27          */                                        27          */
 28         struct napi_struct              *napi;     28         struct napi_struct              *napi;
 29         struct pp_memory_provider_params mp_pa     29         struct pp_memory_provider_params mp_params;
 30 } ____cacheline_aligned_in_smp;                    30 } ____cacheline_aligned_in_smp;
 31                                                    31 
 32 /*                                                 32 /*
 33  * RX queue sysfs structures and functions.        33  * RX queue sysfs structures and functions.
 34  */                                                34  */
 35 struct rx_queue_attribute {                        35 struct rx_queue_attribute {
 36         struct attribute attr;                     36         struct attribute attr;
 37         ssize_t (*show)(struct netdev_rx_queue     37         ssize_t (*show)(struct netdev_rx_queue *queue, char *buf);
 38         ssize_t (*store)(struct netdev_rx_queu     38         ssize_t (*store)(struct netdev_rx_queue *queue,
 39                          const char *buf, size     39                          const char *buf, size_t len);
 40 };                                                 40 };
 41                                                    41 
 42 static inline struct netdev_rx_queue *             42 static inline struct netdev_rx_queue *
 43 __netif_get_rx_queue(struct net_device *dev, u     43 __netif_get_rx_queue(struct net_device *dev, unsigned int rxq)
 44 {                                                  44 {
 45         return dev->_rx + rxq;                     45         return dev->_rx + rxq;
 46 }                                                  46 }
 47                                                    47 
 48 static inline unsigned int                         48 static inline unsigned int
 49 get_netdev_rx_queue_index(struct netdev_rx_que     49 get_netdev_rx_queue_index(struct netdev_rx_queue *queue)
 50 {                                                  50 {
 51         struct net_device *dev = queue->dev;       51         struct net_device *dev = queue->dev;
 52         int index = queue - dev->_rx;              52         int index = queue - dev->_rx;
 53                                                    53 
 54         BUG_ON(index >= dev->num_rx_queues);       54         BUG_ON(index >= dev->num_rx_queues);
 55         return index;                              55         return index;
 56 }                                                  56 }
 57                                                    57 
 58 int netdev_rx_queue_restart(struct net_device      58 int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq);
 59                                                    59 
 60 #endif                                             60 #endif
 61                                                    61 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php