net_bridgeRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
u8 vlan_enabled;
u8 vlan_stats_enabled;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct hlist_head hash[256];
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
bool nf_call_iptables;
bool nf_call_ip6tables;
bool nf_call_arptables;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
u32 root_path_cost;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u8 group_addr[6];
bool group_addr_set;
enum (anon) stp_enabled;
unsigned char multicast_router;
u8 multicast_disabled;
u8 multicast_querier;
u8 multicast_query_use_ifaddr;
u8 has_ipv6_addr;
u8 multicast_stats_enabled;
u32 hash_elasticity;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
spinlock_t multicast_lock;
struct net_bridge_mdb_htable *mdb;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
u8 multicast_mld_version;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
bool neigh_suppress_enabled;
};
4.18: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
u8 vlan_enabled;
u8 vlan_stats_enabled;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
bool nf_call_iptables;
bool nf_call_ip6tables;
bool nf_call_arptables;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
u32 root_path_cost;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u8 group_addr[6];
bool group_addr_set;
enum (anon) stp_enabled;
unsigned char multicast_router;
u8 multicast_disabled;
u8 multicast_querier;
u8 multicast_query_use_ifaddr;
u8 has_ipv6_addr;
u8 multicast_stats_enabled;
u32 hash_elasticity;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
spinlock_t multicast_lock;
struct net_bridge_mdb_htable *mdb;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
u8 multicast_mld_version;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
bool neigh_suppress_enabled;
bool mtu_set_by_user;
struct hlist_head fdb_list;
};
5.0: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
5.3: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
5.4: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
5.8: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
struct list_head mrp_list;
};
5.11: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
5.13: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
5.15: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
struct net_bridge_mcast multicast_ctx;
struct bridge_mcast_stats *mcast_stats;
u32 hash_max;
spinlock_t multicast_lock;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int last_hwdom;
long unsigned int busy_hwdoms;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
5.19: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
struct net_bridge_mcast multicast_ctx;
struct bridge_mcast_stats *mcast_stats;
u32 hash_max;
spinlock_t multicast_lock;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int last_hwdom;
long unsigned int busy_hwdoms;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
6.2: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
struct net_bridge_mcast multicast_ctx;
struct bridge_mcast_stats *mcast_stats;
u32 hash_max;
spinlock_t multicast_lock;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int last_hwdom;
long unsigned int busy_hwdoms;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
6.5: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
struct net_bridge_mcast multicast_ctx;
struct bridge_mcast_stats *mcast_stats;
u32 hash_max;
spinlock_t multicast_lock;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int last_hwdom;
long unsigned int busy_hwdoms;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
6.8: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct hlist_head frame_type_list;
struct net_device *dev;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct list_head port_list;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
struct net_bridge_mcast multicast_ctx;
struct bridge_mcast_stats *mcast_stats;
u32 hash_max;
spinlock_t multicast_lock;
struct rhashtable mdb_hash_tbl;
struct rhashtable sg_port_tbl;
struct hlist_head mcast_gc_list;
struct hlist_head mdb_list;
struct work_struct mcast_gc_work;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
atomic_t fdb_n_learned;
u32 fdb_max_learned;
int last_hwdom;
long unsigned int busy_hwdoms;
struct hlist_head fdb_list;
struct hlist_head mrp_list;
struct hlist_head mep_list;
};
arm64: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
armhf: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
ppc64el: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
riscv64: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
aws: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
azure: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
gcp: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
lowlatency: ✅struct net_bridge {
spinlock_t lock;
spinlock_t hash_lock;
struct list_head port_list;
struct net_device *dev;
struct pcpu_sw_netstats *stats;
long unsigned int options;
__be16 vlan_proto;
u16 default_pvid;
struct net_bridge_vlan_group *vlgrp;
struct rhashtable fdb_hash_tbl;
struct rtable fake_rtable;
struct rt6_info fake_rt6_info;
u16 group_fwd_mask;
u16 group_fwd_mask_required;
bridge_id designated_root;
bridge_id bridge_id;
unsigned char topology_change;
unsigned char topology_change_detected;
u16 root_port;
long unsigned int max_age;
long unsigned int hello_time;
long unsigned int forward_delay;
long unsigned int ageing_time;
long unsigned int bridge_max_age;
long unsigned int bridge_hello_time;
long unsigned int bridge_forward_delay;
long unsigned int bridge_ageing_time;
u32 root_path_cost;
u8 group_addr[6];
enum (anon) stp_enabled;
u32 hash_max;
u32 multicast_last_member_count;
u32 multicast_startup_query_count;
u8 multicast_igmp_version;
u8 multicast_router;
u8 multicast_mld_version;
spinlock_t multicast_lock;
long unsigned int multicast_last_member_interval;
long unsigned int multicast_membership_interval;
long unsigned int multicast_querier_interval;
long unsigned int multicast_query_interval;
long unsigned int multicast_query_response_interval;
long unsigned int multicast_startup_query_interval;
struct rhashtable mdb_hash_tbl;
struct hlist_head mdb_list;
struct hlist_head router_list;
struct timer_list multicast_router_timer;
struct bridge_mcast_other_query ip4_other_query;
struct bridge_mcast_own_query ip4_own_query;
struct bridge_mcast_querier ip4_querier;
struct bridge_mcast_stats *mcast_stats;
struct bridge_mcast_other_query ip6_other_query;
struct bridge_mcast_own_query ip6_own_query;
struct bridge_mcast_querier ip6_querier;
struct timer_list hello_timer;
struct timer_list tcn_timer;
struct timer_list topology_change_timer;
struct delayed_work gc_work;
struct kobject *ifobj;
u32 auto_cnt;
int offload_fwd_mark;
struct hlist_head fdb_list;
};
Regular
4.15 and 4.18 ⚠️struct rhashtable fdb_hash_tbl
bool mtu_set_by_user
struct hlist_head fdb_list
struct hlist_head hash[256]
4.18 and 5.0 ⚠️long unsigned int options
struct rhashtable mdb_hash_tbl
struct hlist_head mdb_list
u8 vlan_enabled
u8 vlan_stats_enabled
bool nf_call_iptables
bool nf_call_ip6tables
bool nf_call_arptables
bool group_addr_set
u8 multicast_disabled
u8 multicast_querier
u8 multicast_query_use_ifaddr
u8 has_ipv6_addr
u8 multicast_stats_enabled
u32 hash_elasticity
struct net_bridge_mdb_htable *mdb
bool neigh_suppress_enabled
bool mtu_set_by_user
unsigned char multicast_router ➡️ u8 multicast_router
5.0 and 5.3 ✅
5.3 and 5.4 ✅
5.4 and 5.8 ⚠️struct list_head mrp_list
5.8 and 5.11 ⚠️struct hlist_head frame_type_list
struct rhashtable sg_port_tbl
struct hlist_head mcast_gc_list
struct work_struct mcast_gc_work
struct hlist_head mep_list
struct pcpu_sw_netstats *stats
struct list_head mrp_list ➡️ struct hlist_head mrp_list
5.11 and 5.13 ✅
5.13 and 5.15 ⚠️struct net_bridge_mcast multicast_ctx
int last_hwdom
long unsigned int busy_hwdoms
u32 multicast_last_member_count
u32 multicast_startup_query_count
u8 multicast_igmp_version
u8 multicast_router
u8 multicast_mld_version
long unsigned int multicast_last_member_interval
long unsigned int multicast_membership_interval
long unsigned int multicast_querier_interval
long unsigned int multicast_query_interval
long unsigned int multicast_query_response_interval
long unsigned int multicast_startup_query_interval
struct hlist_head router_list
struct timer_list multicast_router_timer
struct bridge_mcast_other_query ip4_other_query
struct bridge_mcast_own_query ip4_own_query
struct bridge_mcast_querier ip4_querier
struct bridge_mcast_other_query ip6_other_query
struct bridge_mcast_own_query ip6_own_query
struct bridge_mcast_querier ip6_querier
int offload_fwd_mark
5.15 and 5.19 ✅
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️atomic_t fdb_n_learned
u32 fdb_max_learned
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅