The relevant piece of code seems to be src/sys/net/if.c lines 2912-2966: "add a 
group to an interface". This code is for the initiated, as expected. The title 
is counterintuitive, because an interface is a physical interface, to be added 
to a logical group like egress. So, I am not sure this is the right piece of 
code anyway. What I am trying to do is to pinpoint where, in the code, the 
interface is selected for membership to egress.

On Wednesday, April 2nd, 2025 at 12:31 PM, otto.cooper <otto.coo...@proton.me> 
wrote:

> On all OpenBSD systems around here, the interface with index 1 is the only 
> one in group egress. It seems that OpenBSD blindly does so, based on what 
> interface comes first at boot time (and its live connection), which depends 
> on its position on the PCI bus, which ultimately defines its ifconfig "index".
> 
> From /var/run/dmesg.boot:
> 
> ix0 at pci5 dev 0 function 0 "Intel X552 SFP+" rev 0x00, msix, 4 queues, 
> address ac:1f:6b:6d:1e:f4
> ix1 at pci5 dev 0 function 1 "Intel X552 SFP+" rev 0x00, msix, 4 queues, 
> address ac:1f:6b:6d:1e:f5
> em0 at pci10 dev 0 function 0 "Intel I210" rev 0x03: msi, address 
> ac:1f:6b:6d:1d:64
> em1 at pci11 dev 0 function 0 "Intel I210" rev 0x03: msi, address 
> ac:1f:6b:6d:1d:65
> 
> ifconfig(8) does not mention the possibility of changing the index.
> 
> Changing priority did not help.
> 
> I am not going to read the source code to understand why this is failing.

Reply via email to