dsa_switch
Regular
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
✅