base-files: add ucidef_set_network_device_path_port function
authorTil Kaiser <mail@tk154.de>
Sun, 29 Sep 2024 14:55:57 +0000 (16:55 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 19 Oct 2024 17:10:56 +0000 (19:10 +0200)
commit503596b8cea735b74c90f3420cd246c706f74905
tree4cb8a8f804b96fc387afcc9eb31a033175898d04
parent0a47d518df0d758e8d3b31264cb0428d57c362c3
base-files: add ucidef_set_network_device_path_port function

The already existing uci function ucidef_set_network_device_path
can be used to specify a unique PCI address to name a network interface.
However, I noticed that some NIC ports share the same PCI address
but are still distinguishable by the dev_port value of the network
interface's sysfs entry.

This commit adds a new uci function ucidef_set_network_device_path_port,
which is similar to ucidef_set_network_device_path but takes an
additional argument where the user can specify the dev_port value.
The internal function preinit_config_port loops through
all network interfaces at the given PCI address and chooses the one
where the dev_port value matches.

This was tested on an x86_64 device using a Mellanox ConnectX-3 card.

Signed-off-by: Til Kaiser <mail@tk154.de>
Link: https://github.com/openwrt/openwrt/pull/16560
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/base-files/files/lib/functions/uci-defaults.sh
package/base-files/files/lib/preinit/10_indicate_preinit