Hi Jiri, Jiri Pirko <j...@resnulli.us> writes:
>> # cat /etc/udev/rules.d/90-net-dsa.rules >> SUBSYSTEM=="net", ACTION=="add", ENV{DEVTYPE}=="dsa", >> PROGRAM="/lib/udev/dsanitizer $attr{phys_switch_id} $attr{phys_port_id}", >> NAME="$result" > > I know this is kind of confusing, but phys_port_id is to be used to > indicate same physical port that is shared by multiple netdevices- for > example sr-iov usecase. For switchdev usecase, you should use > phys_port_name. > > I will add some documentation to kernel regarding this. But I see that > net/dsa/slave.c already implements .ndo_get_phys_port_id :( > > I recently made changes in udev so it names the switch ports according > to phys_port_name, out of the box, without need for any rules: > https://github.com/systemd/systemd/pull/4506/commits/c960caa0c2a620fc506c6f0f7b6c40eeace48e4d Thanks for the details. So if I understand correctly, what will be found in phys_port_name will be used as is by udev to name the interface? Extra question: shouldn't phys_port_{id,name} be switchdev attributes in addition to SWITCHDEV_ATTR_ID_PORT_PARENT_ID? > I guess that it should be enough for you to implement > ndo_get_phys_port_name. Well, if this name must be unique on a system, it's not likely to happen until we agree that we use an ugly tXsYpZ template where X is a tree ID, or we assign system-wide unique IDs to switches, which requires a bit of changes. I'm thinking, since DSA slaves are switchdev users, can't we all use a switchdev helper to optionally get a system-wide unique name for a given switch port? e.g. a template such as "swp%d"? I'd prefer that switchdev and DSA do not diverge much when it comes to implement such attributes. But again, this is not related to this patch ;-) Thanks, Vivien