[Bug 176671] [epair] MAC address for epair device not unique
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jul 6 11:31:26 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=176671
--- Comment #6 from Olivier Cochard <olivier at freebsd.org> ---
I've reach to reproduce a setup when this localy-unique epair create conflict
on a LAN:
+----------------+ +---------------+
| ServerA | | serverB |
| bridge0 - em0 |- LAN -| em0 - bridge0 |
| | | | | |
| epair1a | | epair1a |
| epair1b | | epair1b |
| | | | | |
| vnetjail1 | | vnetjail2 |
+----------------+ +---------------+
MAC addresses of epair1 are the same on both jail, then they can't communicate
each others:
[root at jail1]~# ifconfig epair1b ether
epair1b: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=8<VLAN_MTU>
ether 02:ff:70:00:0f:0b
hwaddr 02:ff:70:00:0f:0b
[root at jail2]~# ifconfig epair1b ether
epair1b: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=8<VLAN_MTU>
ether 02:ff:70:00:0f:0b
hwaddr 02:ff:70:00:0f:0b
We could perhaps generate a MAC field "eaddr[1]" (in if_epair.c) from the
hostid for mitigate this conflict (like the net/if_bridge.c code) ?
But if we take code from if_bridge, we should create a common function for
being available to if_bridge and if_epair.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-net
mailing list