dsa_switchRegular
4.4: Absent ⚠️
4.8: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
int index;
void *priv;
struct dsa_chip_data *cd;
struct dsa_switch_driver *drv;
s8 rtable[4];
char hwmon_name[24];
struct device *hwmon_dev;
struct net_device *master_netdev;
u32 dsa_port_mask;
u32 cpu_port_mask;
u32 enabled_port_mask;
u32 phys_mii_mask;
struct dsa_port ports[12];
struct mii_bus *slave_mii_bus;
};
4.10: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
int index;
void *priv;
struct dsa_chip_data *cd;
struct dsa_switch_ops *ops;
s8 rtable[4];
char hwmon_name[24];
struct device *hwmon_dev;
struct net_device *master_netdev;
u32 dsa_port_mask;
u32 cpu_port_mask;
u32 enabled_port_mask;
u32 phys_mii_mask;
struct dsa_port ports[12];
struct mii_bus *slave_mii_bus;
};
4.13: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 dsa_port_mask;
u32 cpu_port_mask;
u32 enabled_port_mask;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
size_t num_ports;
struct dsa_port ports[0];
};
4.15: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
size_t num_ports;
struct dsa_port ports[0];
};
4.18: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
size_t num_ports;
struct dsa_port ports[0];
};
5.0: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
long unsigned int *bitmap;
long unsigned int _bitmap;
size_t num_ports;
struct dsa_port ports[0];
};
5.3: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
long unsigned int *bitmap;
long unsigned int _bitmap;
size_t num_ports;
struct dsa_port ports[0];
};
5.4: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
5.8: ✅struct dsa_switch {
bool setup;
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool configure_vlan_while_not_filtering;
bool vlan_filtering;
bool pcs_poll;
bool mtu_enforcement_ingress;
size_t num_ports;
};
5.11: ✅struct dsa_switch {
bool setup;
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool configure_vlan_while_not_filtering;
bool untag_bridge_pvid;
bool vlan_filtering;
bool pcs_poll;
bool mtu_enforcement_ingress;
size_t num_ports;
};
5.13: ✅struct dsa_switch {
bool setup;
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool configure_vlan_while_not_filtering;
bool untag_bridge_pvid;
bool assisted_learning_on_cpu_port;
bool vlan_filtering;
bool pcs_poll;
bool mtu_enforcement_ingress;
unsigned int num_lag_ids;
size_t num_ports;
};
5.15: ✅struct dsa_switch {
bool setup;
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct dsa_8021q_context *tag_8021q_ctx;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool needs_standalone_vlan_filtering;
bool configure_vlan_while_not_filtering;
bool untag_bridge_pvid;
bool assisted_learning_on_cpu_port;
bool vlan_filtering;
bool pcs_poll;
bool mtu_enforcement_ingress;
unsigned int num_lag_ids;
unsigned int num_fwd_offloading_bridges;
size_t num_ports;
};
5.19: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
u32 setup;
u32 vlan_filtering_is_global;
u32 needs_standalone_vlan_filtering;
u32 configure_vlan_while_not_filtering;
u32 untag_bridge_pvid;
u32 assisted_learning_on_cpu_port;
u32 vlan_filtering;
u32 mtu_enforcement_ingress;
u32 fdb_isolation;
struct notifier_block nb;
void *priv;
void *tagger_data;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct dsa_8021q_context *tag_8021q_ctx;
struct devlink *devlink;
unsigned int num_tx_queues;
unsigned int num_lag_ids;
unsigned int max_num_bridges;
unsigned int num_ports;
};
6.2: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
u32 setup;
u32 vlan_filtering_is_global;
u32 needs_standalone_vlan_filtering;
u32 configure_vlan_while_not_filtering;
u32 untag_bridge_pvid;
u32 assisted_learning_on_cpu_port;
u32 vlan_filtering;
u32 mtu_enforcement_ingress;
u32 fdb_isolation;
struct notifier_block nb;
void *priv;
void *tagger_data;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct dsa_8021q_context *tag_8021q_ctx;
struct devlink *devlink;
unsigned int num_tx_queues;
unsigned int num_lag_ids;
unsigned int max_num_bridges;
unsigned int num_ports;
};
6.5: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
u32 setup;
u32 vlan_filtering_is_global;
u32 needs_standalone_vlan_filtering;
u32 configure_vlan_while_not_filtering;
u32 untag_bridge_pvid;
u32 assisted_learning_on_cpu_port;
u32 vlan_filtering;
u32 mtu_enforcement_ingress;
u32 fdb_isolation;
struct notifier_block nb;
void *priv;
void *tagger_data;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct dsa_8021q_context *tag_8021q_ctx;
struct devlink *devlink;
unsigned int num_tx_queues;
unsigned int num_lag_ids;
unsigned int max_num_bridges;
unsigned int num_ports;
};
6.8: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
u32 setup;
u32 vlan_filtering_is_global;
u32 needs_standalone_vlan_filtering;
u32 configure_vlan_while_not_filtering;
u32 untag_bridge_pvid;
u32 assisted_learning_on_cpu_port;
u32 vlan_filtering;
u32 mtu_enforcement_ingress;
u32 fdb_isolation;
struct notifier_block nb;
void *priv;
void *tagger_data;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
u32 phys_mii_mask;
struct mii_bus *user_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct dsa_8021q_context *tag_8021q_ctx;
struct devlink *devlink;
unsigned int num_tx_queues;
unsigned int num_lag_ids;
unsigned int max_num_bridges;
unsigned int num_ports;
};
arm64: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
armhf: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
ppc64el: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
riscv64: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
aws: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
azure: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
gcp: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
lowlatency: ✅struct dsa_switch {
struct device *dev;
struct dsa_switch_tree *dst;
unsigned int index;
struct notifier_block nb;
void *priv;
struct dsa_chip_data *cd;
const struct dsa_switch_ops *ops;
s8 rtable[4];
u32 phys_mii_mask;
struct mii_bus *slave_mii_bus;
unsigned int ageing_time_min;
unsigned int ageing_time_max;
struct devlink *devlink;
unsigned int num_tx_queues;
bool vlan_filtering_is_global;
bool vlan_filtering;
size_t num_ports;
struct dsa_port ports[0];
};
Regular
4.8 and 4.10 ⚠️struct dsa_switch_ops *ops
struct dsa_switch_driver *drv
4.10 and 4.13 ⚠️struct notifier_block nb
unsigned int ageing_time_min
unsigned int ageing_time_max
struct devlink *devlink
size_t num_ports
char hwmon_name[24]
struct device *hwmon_dev
struct net_device *master_netdev
struct dsa_switch_ops *ops ➡️ const struct dsa_switch_ops *ops
struct dsa_port ports[12] ➡️ struct dsa_port ports[0]
4.13 and 4.15 ⚠️unsigned int num_tx_queues
u32 dsa_port_mask
u32 cpu_port_mask
u32 enabled_port_mask
int index ➡️ unsigned int index
4.15 and 4.18 ✅
4.18 and 5.0 ⚠️long unsigned int *bitmap
long unsigned int _bitmap
5.0 and 5.3 ⚠️bool vlan_filtering_is_global
bool vlan_filtering
5.3 and 5.4 ⚠️long unsigned int *bitmap
long unsigned int _bitmap
5.4 and 5.8 ⚠️bool setup
bool configure_vlan_while_not_filtering
bool pcs_poll
bool mtu_enforcement_ingress
s8 rtable[4]
struct dsa_port ports[0]
5.8 and 5.11 ⚠️bool untag_bridge_pvid
5.11 and 5.13 ⚠️bool assisted_learning_on_cpu_port
unsigned int num_lag_ids
5.13 and 5.15 ⚠️struct dsa_8021q_context *tag_8021q_ctx
bool needs_standalone_vlan_filtering
unsigned int num_fwd_offloading_bridges
5.15 and 5.19 ⚠️u32 fdb_isolation
void *tagger_data
unsigned int max_num_bridges
bool pcs_poll
unsigned int num_fwd_offloading_bridges
bool setup ➡️ u32 setup
bool vlan_filtering_is_global ➡️ u32 vlan_filtering_is_global
bool needs_standalone_vlan_filtering ➡️ u32 needs_standalone_vlan_filtering
bool configure_vlan_while_not_filtering ➡️ u32 configure_vlan_while_not_filtering
bool untag_bridge_pvid ➡️ u32 untag_bridge_pvid
bool assisted_learning_on_cpu_port ➡️ u32 assisted_learning_on_cpu_port
bool vlan_filtering ➡️ u32 vlan_filtering
bool mtu_enforcement_ingress ➡️ u32 mtu_enforcement_ingress
size_t num_ports ➡️ unsigned int num_ports
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️struct mii_bus *user_mii_bus
struct mii_bus *slave_mii_bus
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅