net_deviceRegular
4.4: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
char *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
atomic_t carrier_changes;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
struct (anon) all_adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
short unsigned int type;
short unsigned int hard_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
long unsigned int last_rx;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct tcf_proto *ingress_cl_list;
struct netdev_queue *ingress_queue;
struct list_head nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
long unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_maps;
long unsigned int trans_start;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
void (*destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct pcpu_vstats *vstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
u16 gso_min_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct lock_class_key *qdisc_tx_busylock;
bool proto_down;
};
4.8: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
char *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
atomic_t carrier_changes;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
struct (anon) all_adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct switchdev_ops *switchdev_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
short unsigned int type;
short unsigned int hard_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_switch_tree *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
long unsigned int last_rx;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct tcf_proto *ingress_cl_list;
struct netdev_queue *ingress_queue;
struct list_head nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
long unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_maps;
struct tcf_proto *egress_cl_list;
u32 offload_fwd_mark;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
void (*destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct pcpu_vstats *vstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
};
4.10: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
char *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
atomic_t carrier_changes;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct switchdev_ops *switchdev_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
short unsigned int min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_switch_tree *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
long unsigned int last_rx;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct tcf_proto *ingress_cl_list;
struct netdev_queue *ingress_queue;
struct nf_hook_entry *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
long unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_maps;
struct tcf_proto *egress_cl_list;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
void (*destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct pcpu_vstats *vstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
};
4.13: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
char *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
atomic_t carrier_changes;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct switchdev_ops *switchdev_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_switch_tree *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct tcf_proto *ingress_cl_list;
struct netdev_queue *ingress_queue;
struct nf_hook_entry *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_maps;
struct tcf_proto *egress_cl_list;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct pcpu_vstats *vstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
};
4.15: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
atomic_t carrier_changes;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct switchdev_ops *switchdev_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_maps;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct pcpu_vstats *vstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
};
4.18: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct switchdev_ops *switchdev_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_maps;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct pcpu_vstats *vstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
};
5.0: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct switchdev_ops *switchdev_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned int wol_enabled;
};
5.3: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned int wol_enabled;
};
5.4: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
5.8: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
struct list_head todo_list;
int *pcpu_refcnt;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned int wol_enabled;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
};
5.11: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
unsigned char name_assign_type;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned int wol_enabled;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
};
5.13: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
unsigned int flags;
unsigned int priv_flags;
const struct net_device_ops *netdev_ops;
int ifindex;
short unsigned int gflags;
short unsigned int hard_header_len;
unsigned int mtu;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
unsigned char min_header_len;
unsigned char name_assign_type;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
short unsigned int padded;
spinlock_t addr_list_lock;
int irq;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps * xps_maps[2];
struct mini_Qdisc *miniq_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned int wol_enabled;
unsigned int threaded;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
};
5.15: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
unsigned int flags;
unsigned int priv_flags;
const struct net_device_ops *netdev_ops;
int ifindex;
short unsigned int gflags;
short unsigned int hard_header_len;
unsigned int mtu;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
unsigned char min_header_len;
unsigned char name_assign_type;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
short unsigned int padded;
spinlock_t addr_list_lock;
int irq;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
struct mctp_dev *mctp_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps * xps_maps[2];
struct mini_Qdisc *miniq_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
struct lock_class_key *qdisc_running_key;
bool proto_down;
unsigned int wol_enabled;
unsigned int threaded;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
};
5.19: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
unsigned int flags;
long long unsigned int priv_flags;
const struct net_device_ops *netdev_ops;
int ifindex;
short unsigned int gflags;
short unsigned int hard_header_len;
unsigned int mtu;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
unsigned char min_header_len;
unsigned char name_assign_type;
int group;
struct net_device_stats stats;
struct net_device_core_stats *core_stats;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
short unsigned int padded;
spinlock_t addr_list_lock;
int irq;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct in_device *ip_ptr;
struct inet6_dev *ip6_ptr;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct dn_dev *dn_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
struct mctp_dev *mctp_ptr;
const unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
unsigned int gro_max_size;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps * xps_maps[2];
struct mini_Qdisc *miniq_egress;
struct nf_hook_entries *nf_hooks_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct ref_tracker_dir refcnt_tracker;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct dm_hw_stat_delta *dm_private;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
unsigned int tso_max_size;
u16 gso_max_segs;
u16 tso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
bool proto_down;
unsigned int wol_enabled;
unsigned int threaded;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
u8 dev_addr_shadow[32];
netdevice_tracker linkwatch_dev_tracker;
netdevice_tracker watchdog_dev_tracker;
netdevice_tracker dev_registered_tracker;
struct rtnl_hw_stats64 *offload_xstats_l3;
};
6.2: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
unsigned int flags;
long long unsigned int priv_flags;
const struct net_device_ops *netdev_ops;
int ifindex;
short unsigned int gflags;
short unsigned int hard_header_len;
unsigned int mtu;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
unsigned char min_header_len;
unsigned char name_assign_type;
int group;
struct net_device_stats stats;
struct net_device_core_stats *core_stats;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
short unsigned int padded;
spinlock_t addr_list_lock;
int irq;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct in_device *ip_ptr;
struct inet6_dev *ip6_ptr;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
struct mctp_dev *mctp_ptr;
const unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
unsigned int gro_max_size;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps * xps_maps[2];
struct mini_Qdisc *miniq_egress;
struct nf_hook_entries *nf_hooks_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct ref_tracker_dir refcnt_tracker;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct dm_hw_stat_delta *dm_private;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
unsigned int tso_max_size;
u16 gso_max_segs;
u16 tso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
bool proto_down;
unsigned int wol_enabled;
unsigned int threaded;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
u8 dev_addr_shadow[32];
netdevice_tracker linkwatch_dev_tracker;
netdevice_tracker watchdog_dev_tracker;
netdevice_tracker dev_registered_tracker;
struct rtnl_hw_stats64 *offload_xstats_l3;
struct devlink_port *devlink_port;
};
6.5: ✅struct net_device {
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
unsigned int flags;
xdp_features_t xdp_features;
long long unsigned int priv_flags;
const struct net_device_ops *netdev_ops;
const struct xdp_metadata_ops *xdp_metadata_ops;
int ifindex;
short unsigned int gflags;
short unsigned int hard_header_len;
unsigned int mtu;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
unsigned char min_header_len;
unsigned char name_assign_type;
int group;
struct net_device_stats stats;
struct net_device_core_stats *core_stats;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
short unsigned int padded;
spinlock_t addr_list_lock;
int irq;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct in_device *ip_ptr;
struct inet6_dev *ip6_ptr;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
struct mctp_dev *mctp_ptr;
const unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
unsigned int gro_max_size;
unsigned int gro_ipv4_max_size;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct xps_dev_maps * xps_maps[2];
struct mini_Qdisc *miniq_egress;
struct nf_hook_entries *nf_hooks_egress;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct ref_tracker_dir refcnt_tracker;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct dm_hw_stat_delta *dm_private;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
unsigned int tso_max_size;
u16 gso_max_segs;
u16 tso_max_segs;
unsigned int gso_ipv4_max_size;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
bool proto_down;
unsigned int wol_enabled;
unsigned int threaded;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
u8 dev_addr_shadow[32];
netdevice_tracker linkwatch_dev_tracker;
netdevice_tracker watchdog_dev_tracker;
netdevice_tracker dev_registered_tracker;
struct rtnl_hw_stats64 *offload_xstats_l3;
struct devlink_port *devlink_port;
};
6.8: ✅struct net_device {
__u8 __cacheline_group_begin__net_device_read_tx[0];
long long unsigned int priv_flags;
const struct net_device_ops *netdev_ops;
const struct header_ops *header_ops;
struct netdev_queue *_tx;
netdev_features_t gso_partial_features;
unsigned int real_num_tx_queues;
unsigned int gso_max_size;
unsigned int gso_ipv4_max_size;
u16 gso_max_segs;
s16 num_tc;
unsigned int mtu;
short unsigned int needed_headroom;
struct netdev_tc_txq tc_to_txq[16];
struct xps_dev_maps * xps_maps[2];
struct nf_hook_entries *nf_hooks_egress;
struct bpf_mprog_entry *tcx_egress;
__u8 __cacheline_group_end__net_device_read_tx[0];
__u8 __cacheline_group_begin__net_device_read_txrx[0];
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
unsigned int flags;
short unsigned int hard_header_len;
netdev_features_t features;
struct inet6_dev *ip6_ptr;
__u8 __cacheline_group_end__net_device_read_txrx[0];
__u8 __cacheline_group_begin__net_device_read_rx[0];
struct bpf_prog *xdp_prog;
struct list_head ptype_specific;
int ifindex;
unsigned int real_num_rx_queues;
struct netdev_rx_queue *_rx;
long unsigned int gro_flush_timeout;
int napi_defer_hard_irqs;
unsigned int gro_max_size;
unsigned int gro_ipv4_max_size;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
possible_net_t nd_net;
struct netpoll_info *npinfo;
struct bpf_mprog_entry *tcx_ingress;
__u8 __cacheline_group_end__net_device_read_rx[0];
char name[16];
struct netdev_name_node *name_node;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct (anon) adj_list;
xdp_features_t xdp_features;
const struct xdp_metadata_ops *xdp_metadata_ops;
const struct xsk_tx_metadata_ops *xsk_tx_metadata_ops;
short unsigned int gflags;
short unsigned int needed_tailroom;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
unsigned char min_header_len;
unsigned char name_assign_type;
int group;
struct net_device_stats stats;
struct net_device_core_stats *core_stats;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
short unsigned int padded;
spinlock_t addr_list_lock;
int irq;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
bool uc_promisc;
struct in_device *ip_ptr;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
struct mctp_dev *mctp_ptr;
const unsigned char *dev_addr;
unsigned int num_rx_queues;
unsigned int xdp_zc_max_segs;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
unsigned int num_tx_queues;
struct Qdisc *qdisc;
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
struct xdp_dev_bulk_queue *xdp_bulkq;
struct hlist_head qdisc_hash[16];
struct timer_list watchdog_timer;
int watchdog_timeo;
u32 proto_down_reason;
struct list_head todo_list;
int *pcpu_refcnt;
struct ref_tracker_dir refcnt_tracker;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
void *ml_priv;
enum netdev_ml_priv_type ml_priv_type;
enum netdev_stat_type pcpu_stat_type;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct dm_hw_stat_delta *dm_private;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int tso_max_size;
u16 tso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key *qdisc_tx_busylock;
bool proto_down;
unsigned int wol_enabled;
unsigned int threaded;
struct list_head net_notifier_list;
const struct macsec_ops *macsec_ops;
const struct udp_tunnel_nic_info *udp_tunnel_nic_info;
struct udp_tunnel_nic *udp_tunnel_nic;
struct bpf_xdp_entity xdp_state[3];
u8 dev_addr_shadow[32];
netdevice_tracker linkwatch_dev_tracker;
netdevice_tracker watchdog_dev_tracker;
netdevice_tracker dev_registered_tracker;
struct rtnl_hw_stats64 *offload_xstats_l3;
struct devlink_port *devlink_port;
struct dpll_pin *dpll_pin;
struct hlist_head page_pools;
};
arm64: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
armhf: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
ppc64el: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
riscv64: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
aws: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
azure: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
gcp: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
lowlatency: ✅struct net_device {
char name[16];
struct hlist_node name_hlist;
struct dev_ifalias *ifalias;
long unsigned int mem_end;
long unsigned int mem_start;
long unsigned int base_addr;
int irq;
long unsigned int state;
struct list_head dev_list;
struct list_head napi_list;
struct list_head unreg_list;
struct list_head close_list;
struct list_head ptype_all;
struct list_head ptype_specific;
struct (anon) adj_list;
netdev_features_t features;
netdev_features_t hw_features;
netdev_features_t wanted_features;
netdev_features_t vlan_features;
netdev_features_t hw_enc_features;
netdev_features_t mpls_features;
netdev_features_t gso_partial_features;
int ifindex;
int group;
struct net_device_stats stats;
atomic_long_t rx_dropped;
atomic_long_t tx_dropped;
atomic_long_t rx_nohandler;
atomic_t carrier_up_count;
atomic_t carrier_down_count;
const struct iw_handler_def *wireless_handlers;
struct iw_public_data *wireless_data;
const struct net_device_ops *netdev_ops;
const struct ethtool_ops *ethtool_ops;
const struct l3mdev_ops *l3mdev_ops;
const struct ndisc_ops *ndisc_ops;
const struct xfrmdev_ops *xfrmdev_ops;
const struct tlsdev_ops *tlsdev_ops;
const struct header_ops *header_ops;
unsigned int flags;
unsigned int priv_flags;
short unsigned int gflags;
short unsigned int padded;
unsigned char operstate;
unsigned char link_mode;
unsigned char if_port;
unsigned char dma;
unsigned int mtu;
unsigned int min_mtu;
unsigned int max_mtu;
short unsigned int type;
short unsigned int hard_header_len;
unsigned char min_header_len;
short unsigned int needed_headroom;
short unsigned int needed_tailroom;
unsigned char perm_addr[32];
unsigned char addr_assign_type;
unsigned char addr_len;
unsigned char upper_level;
unsigned char lower_level;
short unsigned int neigh_priv_len;
short unsigned int dev_id;
short unsigned int dev_port;
spinlock_t addr_list_lock;
unsigned char name_assign_type;
bool uc_promisc;
struct netdev_hw_addr_list uc;
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
struct kset *queues_kset;
unsigned int promiscuity;
unsigned int allmulti;
struct vlan_info *vlan_info;
struct dsa_port *dsa_ptr;
struct tipc_bearer *tipc_ptr;
void *atalk_ptr;
struct in_device *ip_ptr;
struct dn_dev *dn_ptr;
struct inet6_dev *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
struct mpls_dev *mpls_ptr;
unsigned char *dev_addr;
struct netdev_rx_queue *_rx;
unsigned int num_rx_queues;
unsigned int real_num_rx_queues;
struct bpf_prog *xdp_prog;
long unsigned int gro_flush_timeout;
rx_handler_func_t *rx_handler;
void *rx_handler_data;
struct mini_Qdisc *miniq_ingress;
struct netdev_queue *ingress_queue;
struct nf_hook_entries *nf_hooks_ingress;
unsigned char broadcast[32];
struct cpu_rmap *rx_cpu_rmap;
struct hlist_node index_hlist;
struct netdev_queue *_tx;
unsigned int num_tx_queues;
unsigned int real_num_tx_queues;
struct Qdisc *qdisc;
struct hlist_head qdisc_hash[16];
unsigned int tx_queue_len;
spinlock_t tx_global_lock;
int watchdog_timeo;
struct xps_dev_maps *xps_cpus_map;
struct xps_dev_maps *xps_rxqs_map;
struct mini_Qdisc *miniq_egress;
struct timer_list watchdog_timer;
int *pcpu_refcnt;
struct list_head todo_list;
struct list_head link_watch_list;
enum (anon) reg_state;
bool dismantle;
enum (anon) rtnl_link_state;
bool needs_free_netdev;
void (*priv_destructor)(struct net_device *);
struct netpoll_info *npinfo;
possible_net_t nd_net;
void *ml_priv;
struct pcpu_lstats *lstats;
struct pcpu_sw_netstats *tstats;
struct pcpu_dstats *dstats;
struct garp_port *garp_port;
struct mrp_port *mrp_port;
struct device dev;
const struct attribute_group * sysfs_groups[4];
const struct attribute_group *sysfs_rx_queue_group;
const struct rtnl_link_ops *rtnl_link_ops;
unsigned int gso_max_size;
u16 gso_max_segs;
const struct dcbnl_rtnl_ops *dcbnl_ops;
s16 num_tc;
struct netdev_tc_txq tc_to_txq[16];
u8 prio_tc_map[16];
unsigned int fcoe_ddp_xid;
struct netprio_map *priomap;
struct phy_device *phydev;
struct sfp_bus *sfp_bus;
struct lock_class_key qdisc_tx_busylock_key;
struct lock_class_key qdisc_running_key;
struct lock_class_key qdisc_xmit_lock_key;
struct lock_class_key addr_list_lock_key;
bool proto_down;
unsigned int wol_enabled;
};
Regular
4.4 and 4.8 ⚠️netdev_features_t gso_partial_features
atomic_long_t rx_nohandler
const struct switchdev_ops *switchdev_ops
const struct ndisc_ops *ndisc_ops
struct dsa_switch_tree *dsa_ptr
struct tcf_proto *egress_cl_list
u32 offload_fwd_mark
struct lock_class_key *qdisc_running_key
long unsigned int trans_start
u16 gso_min_segs
struct wpan_dev *ieee802154_ptr ➡️ struct wpan_dev *ieee802154_ptr
4.8 and 4.10 ⚠️unsigned int min_mtu
unsigned int max_mtu
short unsigned int min_header_len
struct hlist_head qdisc_hash[16]
struct (anon) all_adj_list
u32 offload_fwd_mark
struct list_head nf_hooks_ingress ➡️ struct nf_hook_entry *nf_hooks_ingress
4.10 and 4.13 ⚠️const struct xfrmdev_ops *xfrmdev_ops
struct bpf_prog *xdp_prog
bool needs_free_netdev
void (*priv_destructor)(struct net_device *)
long unsigned int last_rx
void (*destructor)(struct net_device *)
short unsigned int min_header_len ➡️ unsigned char min_header_len
long unsigned int tx_queue_len ➡️ unsigned int tx_queue_len
4.13 and 4.15 ⚠️struct mini_Qdisc *miniq_ingress
struct mini_Qdisc *miniq_egress
struct tcf_proto *ingress_cl_list
struct tcf_proto *egress_cl_list
char *ifalias ➡️ struct dev_ifalias *ifalias
struct dsa_switch_tree *dsa_ptr ➡️ struct dsa_port *dsa_ptr
struct nf_hook_entry *nf_hooks_ingress ➡️ struct nf_hook_entries *nf_hooks_ingress
4.15 and 4.18 ⚠️atomic_t carrier_up_count
atomic_t carrier_down_count
const struct tlsdev_ops *tlsdev_ops
struct sfp_bus *sfp_bus
atomic_t carrier_changes
4.18 and 5.0 ⚠️struct xps_dev_maps *xps_cpus_map
struct xps_dev_maps *xps_rxqs_map
unsigned int wol_enabled
struct xps_dev_maps *xps_maps
struct pcpu_vstats *vstats
u8 num_tc ➡️ s16 num_tc
5.0 and 5.3 ⚠️const struct switchdev_ops *switchdev_ops
5.3 and 5.4 ⚠️unsigned char upper_level
unsigned char lower_level
struct lock_class_key qdisc_tx_busylock_key
struct lock_class_key qdisc_xmit_lock_key
struct lock_class_key addr_list_lock_key
struct lock_class_key *qdisc_tx_busylock
struct lock_class_key *qdisc_running_key ➡️ struct lock_class_key qdisc_running_key
5.4 and 5.8 ⚠️struct netdev_name_node *name_node
int napi_defer_hard_irqs
struct xdp_dev_bulk_queue *xdp_bulkq
struct lock_class_key *qdisc_tx_busylock
struct list_head net_notifier_list
const struct macsec_ops *macsec_ops
struct hlist_node name_hlist
struct lock_class_key qdisc_tx_busylock_key
struct lock_class_key qdisc_xmit_lock_key
struct lock_class_key addr_list_lock_key
struct lock_class_key qdisc_running_key ➡️ struct lock_class_key *qdisc_running_key
5.8 and 5.11 ⚠️u32 proto_down_reason
enum netdev_ml_priv_type ml_priv_type
const struct udp_tunnel_nic_info *udp_tunnel_nic_info
struct udp_tunnel_nic *udp_tunnel_nic
struct bpf_xdp_entity xdp_state[3]
5.11 and 5.13 ⚠️struct xps_dev_maps * xps_maps[2]
unsigned int threaded
struct xps_dev_maps *xps_cpus_map
struct xps_dev_maps *xps_rxqs_map
5.13 and 5.15 ⚠️struct mctp_dev *mctp_ptr
5.15 and 5.19 ⚠️struct net_device_core_stats *core_stats
unsigned int gro_max_size
struct nf_hook_entries *nf_hooks_egress
struct ref_tracker_dir refcnt_tracker
struct dm_hw_stat_delta *dm_private
unsigned int tso_max_size
u16 tso_max_segs
u8 dev_addr_shadow[32]
netdevice_tracker linkwatch_dev_tracker
netdevice_tracker watchdog_dev_tracker
netdevice_tracker dev_registered_tracker
struct rtnl_hw_stats64 *offload_xstats_l3
atomic_long_t rx_dropped
atomic_long_t tx_dropped
atomic_long_t rx_nohandler
struct lock_class_key *qdisc_running_key
unsigned int priv_flags ➡️ long long unsigned int priv_flags
struct mctp_dev *mctp_ptr ➡️ struct mctp_dev *mctp_ptr
unsigned char *dev_addr ➡️ const unsigned char *dev_addr
5.19 and 6.2 ⚠️struct devlink_port *devlink_port
struct dn_dev *dn_ptr
const struct macsec_ops *macsec_ops ➡️ const struct macsec_ops *macsec_ops
6.2 and 6.5 ⚠️xdp_features_t xdp_features
const struct xdp_metadata_ops *xdp_metadata_ops
unsigned int gro_ipv4_max_size
unsigned int gso_ipv4_max_size
6.5 and 6.8 ⚠️__u8 __cacheline_group_begin__net_device_read_tx[0]
struct bpf_mprog_entry *tcx_egress
__u8 __cacheline_group_end__net_device_read_tx[0]
__u8 __cacheline_group_begin__net_device_read_txrx[0]
__u8 __cacheline_group_end__net_device_read_txrx[0]
__u8 __cacheline_group_begin__net_device_read_rx[0]
struct bpf_mprog_entry *tcx_ingress
__u8 __cacheline_group_end__net_device_read_rx[0]
const struct xsk_tx_metadata_ops *xsk_tx_metadata_ops
unsigned int xdp_zc_max_segs
enum netdev_stat_type pcpu_stat_type
struct dpll_pin *dpll_pin
struct hlist_head page_pools
struct mini_Qdisc *miniq_ingress
struct mini_Qdisc *miniq_egress
struct pcpu_dstats *dstats ➡️ struct pcpu_dstats *dstats
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ⚠️const struct iw_handler_def *wireless_handlers
struct iw_public_data *wireless_data
unsigned int fcoe_ddp_xid
generic and gcp ✅
generic and lowlatency ✅