devlink_port_opsRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: Absent ⚠️
4.18: Absent ⚠️
5.0: Absent ⚠️
5.3: Absent ⚠️
5.4: Absent ⚠️
5.8: Absent ⚠️
5.11: Absent ⚠️
5.13: Absent ⚠️
5.15: Absent ⚠️
5.19: Absent ⚠️
6.2: Absent ⚠️
6.5: ✅struct devlink_port_ops {
int (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *);
int (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);
int (*port_type_set)(struct devlink_port *, enum devlink_port_type);
int (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);
int (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *);
int (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *);
int (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);
int (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *);
int (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);
int (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *);
int (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *);
int (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *);
};
6.8: ✅struct devlink_port_ops {
int (*port_split)(struct devlink *, struct devlink_port *, unsigned int, struct netlink_ext_ack *);
int (*port_unsplit)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);
int (*port_type_set)(struct devlink_port *, enum devlink_port_type);
int (*port_del)(struct devlink *, struct devlink_port *, struct netlink_ext_ack *);
int (*port_fn_hw_addr_get)(struct devlink_port *, u8 *, int *, struct netlink_ext_ack *);
int (*port_fn_hw_addr_set)(struct devlink_port *, const u8 *, int, struct netlink_ext_ack *);
int (*port_fn_roce_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);
int (*port_fn_roce_set)(struct devlink_port *, bool, struct netlink_ext_ack *);
int (*port_fn_migratable_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);
int (*port_fn_migratable_set)(struct devlink_port *, bool, struct netlink_ext_ack *);
int (*port_fn_state_get)(struct devlink_port *, enum devlink_port_fn_state *, enum devlink_port_fn_opstate *, struct netlink_ext_ack *);
int (*port_fn_state_set)(struct devlink_port *, enum devlink_port_fn_state, struct netlink_ext_ack *);
int (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);
int (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *);
int (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *);
int (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *);
};
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: Absent ⚠️
riscv64: Absent ⚠️
aws: Absent ⚠️
azure: Absent ⚠️
gcp: Absent ⚠️
lowlatency: Absent ⚠️
Regular
6.5 and 6.8 ⚠️int (*port_fn_ipsec_crypto_get)(struct devlink_port *, bool *, struct netlink_ext_ack *)
int (*port_fn_ipsec_crypto_set)(struct devlink_port *, bool, struct netlink_ext_ack *)
int (*port_fn_ipsec_packet_get)(struct devlink_port *, bool *, struct netlink_ext_ack *)
int (*port_fn_ipsec_packet_set)(struct devlink_port *, bool, struct netlink_ext_ack *)