summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2019-04-04 17:42:36 -0700
committerDavid S. Miller <davem@davemloft.net>2019-04-04 17:42:36 -0700
commit6124d0670d0b610df3b86f7815c5358cb3124b34 (patch)
tree4ed514e63ea3eecef324d74d6fd6a32214285a6e /include
parent8dc350202d32dbd9482b97dbf8ca22fbcb2a7918 (diff)
parent119c0b5721da9d97f95202c4ad1be2919dac64b0 (diff)
Merge branch 'net-extend-devlink-port-attrs-with-switch-ID'
Jiri Pirko says: ==================== net: extend devlink port attrs with switch ID Extend devlink port attrs to contain switch ID and change drivers that register devlink ports to use that. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/devlink.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/include/net/devlink.h b/include/net/devlink.h
index 31d5cec4d06b..70c7d1ac8344 100644
--- a/include/net/devlink.h
+++ b/include/net/devlink.h
@@ -41,11 +41,13 @@ struct devlink {
};
struct devlink_port_attrs {
- bool set;
+ u8 set:1,
+ split:1,
+ switch_port:1;
enum devlink_port_flavour flavour;
u32 port_number; /* same value as "split group" */
- bool split;
u32 split_subport_number;
+ struct netdev_phys_item_id switch_id;
};
struct devlink_port {
@@ -582,7 +584,9 @@ void devlink_port_type_clear(struct devlink_port *devlink_port);
void devlink_port_attrs_set(struct devlink_port *devlink_port,
enum devlink_port_flavour flavour,
u32 port_number, bool split,
- u32 split_subport_number);
+ u32 split_subport_number,
+ const unsigned char *switch_id,
+ unsigned char switch_id_len);
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,
@@ -739,6 +743,8 @@ void devlink_compat_running_version(struct net_device *dev,
int devlink_compat_flash_update(struct net_device *dev, const char *file_name);
int devlink_compat_phys_port_name_get(struct net_device *dev,
char *name, size_t len);
+int devlink_compat_switch_id_get(struct net_device *dev,
+ struct netdev_phys_item_id *ppid);
#else
@@ -760,6 +766,13 @@ devlink_compat_phys_port_name_get(struct net_device *dev,
return -EOPNOTSUPP;
}
+static inline int
+devlink_compat_switch_id_get(struct net_device *dev,
+ struct netdev_phys_item_id *ppid)
+{
+ return -EOPNOTSUPP;
+}
+
#endif
#endif /* _NET_DEVLINK_H_ */