Assigning an IP address to an interface which is also a bridge member - 15.0-RELEASE

Dears,
I am using a failovcer config with two sfp+ ports. I do bridge this lagg0 interface via bridge to three tap interfaces for vm-bhyve. With upgrading to 15.0-RELEASE I did notice the following warning. I did consult the handbook but I am unsure how to solve this problem. Maybe I just did not read the correct parts of the handbook. I have a possible solution but as the machine is remote, I would like to have some other thoughts.

Regards

dmesg
Code:
lagg0: WARNING: Assigning an IP address to an interface which is also a bridge member is deprecated and will be unsupported in a future release.
rc.conf - current
Code:
# set up cloned interface
cloned_interfaces="lagg0 bridge0 tap0 tap1 tap2"
ifconfig_ix2="up"
ifconfig_ix3="up"

# lagg0 lacp oder failover
#ifconfig_lagg0="laggproto lacp laggport ix2 laggport ix3 10.0.1.12/24"
ifconfig_lagg0="laggproto failover laggport ix2 laggport ix3 10.0.1.12/24"
ifconfig_bridge0="addm lagg0 addm tap0 addm tap1 addm tap2"
defaultrouter="10.0.1.1"
rc.conf - my possible solution
Code:
# set up cloned interface
cloned_interfaces="lagg0 bridge0 tap0 tap1 tap2"
ifconfig_ix2="up"
ifconfig_ix3="up"

# lagg0 - no IP address when it's a bridge member
ifconfig_lagg0="laggproto failover laggport ix2 laggport ix3 up"

# bridge0 gets the IP address
ifconfig_bridge0="addm lagg0 addm tap0 addm tap1 addm tap2 inet 10.0.1.12/24"
defaultrouter="10.0.1.1"
 
yeah, we would suggest adding the address to the bridge interface itself. but also be ready to fix the machine from single-user mode.
 
Yep. Move the IP address from the lagg0 interface to bridge0.
 
It's dangerous to do that from remote. No error allowed...

# bridge0 gets the IP address
ifconfig_bridge0="addm lagg0 addm tap0 addm tap1 addm tap2 inet 10.0.1.12/24"
It could be this instead:
ifconfig_bridge0="inet 10.0.1.12/24 addm lagg0 addm tap0 addm tap1 addm tap2"

I did move the ip on the bridge on two machines at home. Unfortunately, I can't verify for now what I really used in /etc/rc.conf, but ifconfig with the arguments you give, answers an error about inet.

From ifconfig(8):
ifconfig [-j jid] [-DkLmn] [-f type:format] interface [create] [address_family [address [dest_address]]] [parameters]

I recall I made several mistakes before to get what I wanted. The order of arguments for ifconfig_bridge0 was one. The other was I forgot to set "up" a physical interface member of the bridge. It can be tricky.

If you have a local machine on hand, try on it before to do that remotely.
 
It's dangerous to do that from remote. No error allowed...
One of the reasons why I'm adamant on having IPMI or remote KVM access. Server could also get stuck in single user mode and fail to boot, or a bunch of other reasons that'll make ssh access impossible. I don't want to drive an hour just to press a few buttons.
 
ifconfig_bridge0="inet 10.0.1.12/24 addm lagg0 addm tap0 addm tap1 addm tap2"
It's well what you have to write in rc.conf. Your proposal won't work.
I would add "up" after "tap2", but I don't know if this is mandatory or not.
 
Thanks a lot @all - ipmi is available via supermicro, just in case.
Then I highly recommend you obtain a console session via IPMI and do it that way, to spare yourself any headache with getting the ifconfig arguments wrong and losing connectivity in the middle of your configuration.
 
Back
Top