diff options
author | Jiri Pirko <jiri@mellanox.com> | 2018-05-18 09:29:00 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-19 16:30:39 -0400 |
commit | b9ffcbaf56d3040efee64d3818688083c29b2a44 (patch) | |
tree | b9ecd9e63e51be84e5050ba94b754de9ea9050a8 /include/net/devlink.h | |
parent | eb38401c779d350e9e31396471ea072fa29aec9b (diff) | |
download | op-kernel-dev-b9ffcbaf56d3040efee64d3818688083c29b2a44.zip op-kernel-dev-b9ffcbaf56d3040efee64d3818688083c29b2a44.tar.gz |
devlink: introduce devlink_port_attrs_set
Change existing setter for split port information into more generic
attrs setter. Alongside with that, allow to set port number and subport
number for split ports.
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/devlink.h')
-rw-r--r-- | include/net/devlink.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/include/net/devlink.h b/include/net/devlink.h index 2e4f71e..d6ca922 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -35,6 +35,13 @@ struct devlink { char priv[0] __aligned(NETDEV_ALIGN); }; +struct devlink_port_attrs { + bool set; + u32 port_number; /* same value as "split group" */ + bool split; + u32 split_subport_number; +}; + struct devlink_port { struct list_head list; struct devlink *devlink; @@ -43,8 +50,7 @@ struct devlink_port { enum devlink_port_type type; enum devlink_port_type desired_type; void *type_dev; - bool split; - u32 split_group; + struct devlink_port_attrs attrs; }; struct devlink_sb_pool_info { @@ -367,8 +373,9 @@ void devlink_port_type_eth_set(struct devlink_port *devlink_port, void devlink_port_type_ib_set(struct devlink_port *devlink_port, struct ib_device *ibdev); void devlink_port_type_clear(struct devlink_port *devlink_port); -void devlink_port_split_set(struct devlink_port *devlink_port, - u32 split_group); +void devlink_port_attrs_set(struct devlink_port *devlink_port, + u32 port_number, bool split, + u32 split_subport_number); int devlink_sb_register(struct devlink *devlink, unsigned int sb_index, u32 size, u16 ingress_pools_count, u16 egress_pools_count, u16 ingress_tc_count, @@ -466,8 +473,9 @@ static inline void devlink_port_type_clear(struct devlink_port *devlink_port) { } -static inline void devlink_port_split_set(struct devlink_port *devlink_port, - u32 split_group) +static inline void devlink_port_attrs_set(struct devlink_port *devlink_port, + u32 port_number, bool split, + u32 split_subport_number) { } |