HomeFreeBSD

if_epair(4): use ether_gen_addr(9) for stable MAC address

Description

if_epair(4): use ether_gen_addr(9) for stable MAC address

Before this change epair interfaces get a random MAC. This does
not help dhcp/dyndns when an epair gets destroyed/recreated
after restart of a jail.

With this change:
$ sysctl net.link.epair.ether_gen_addr=0
$ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy
ether 02:cb:78:56:e4:0a
ether 02:cb:78:56:e4:0b
$ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy
ether 02:8b:9b:6a:8f:0a
ether 02:8b:9b:6a:8f:0b

$ sysctl net.link.epair.ether_gen_addr=1
$ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy
ether 58:9c:fc:10:2b:b4
ether 58:9c:fc:00:39:10
$ ifconfig epair8 create > /dev/null; ifconfig epair8a | grep ether; ifconfig epair8b | grep ether; ifconfig epair8a destroy
ether 58:9c:fc:10:2b:b4
ether 58:9c:fc:00:39:10

A follow up commit will change the default to 1 in main.

Approved by: bz,ivy,kp
MFC after: 2 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D51157

Details

Provenance
ronald_klop.wsAuthored on Jul 3 2025, 4:33 PM
Differential Revision
D51157: if_epair(4): use ether_gen_addr(9) for stable MAC address
Parents
rG6374c45fbaf7: bhyve: protect MMIO mapped BDSM register
Branches
Unknown
Tags
Unknown