Skip to content

Commit 2121227

Browse files
committed
Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue
Tony Nguyen says: ==================== ixgbe: bypass devlink phys_port_name generation Jedrzej adds option to skip phys_port_name generation and opts ixgbe into it as some configurations rely on pre-devlink naming which could end up broken as a result. * '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue: ixgbe: prevent from unwanted interface name changes devlink: let driver opt out of automatic phys_port_name generation ==================== Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
2 parents 39f8fcd + e67a0bc commit 2121227

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

drivers/net/ethernet/intel/ixgbe/devlink/devlink.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,7 @@ int ixgbe_devlink_register_port(struct ixgbe_adapter *adapter)
543543

544544
attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL;
545545
attrs.phys.port_number = adapter->hw.bus.func;
546+
attrs.no_phys_port_name = 1;
546547
ixgbe_devlink_set_switch_id(adapter, &attrs.switch_id);
547548

548549
devlink_port_attrs_set(devlink_port, &attrs);

include/net/devlink.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ struct devlink_port_pci_sf_attrs {
7878
* @flavour: flavour of the port
7979
* @split: indicates if this is split port
8080
* @splittable: indicates if the port can be split.
81+
* @no_phys_port_name: skip automatic phys_port_name generation; for
82+
* compatibility only, newly added driver/port instance
83+
* should never set this.
8184
* @lanes: maximum number of lanes the port supports. 0 value is not passed to netlink.
8285
* @switch_id: if the port is part of switch, this is buffer with ID, otherwise this is NULL
8386
* @phys: physical port attributes
@@ -87,7 +90,8 @@ struct devlink_port_pci_sf_attrs {
8790
*/
8891
struct devlink_port_attrs {
8992
u8 split:1,
90-
splittable:1;
93+
splittable:1,
94+
no_phys_port_name:1;
9195
u32 lanes;
9296
enum devlink_port_flavour flavour;
9397
struct netdev_phys_item_id switch_id;

net/devlink/port.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@ static int __devlink_port_phys_port_name_get(struct devlink_port *devlink_port,
15191519
struct devlink_port_attrs *attrs = &devlink_port->attrs;
15201520
int n = 0;
15211521

1522-
if (!devlink_port->attrs_set)
1522+
if (!devlink_port->attrs_set || devlink_port->attrs.no_phys_port_name)
15231523
return -EOPNOTSUPP;
15241524

15251525
switch (attrs->flavour) {

0 commit comments

Comments
 (0)