Bug 247912 - IPv6 ndp does not work across local bridge members
Summary: IPv6 ndp does not work across local bridge members
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.1-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
Depends on:
Reported: 2020-07-11 14:30 UTC by Martin Birgmeier
Modified: 2020-07-11 14:30 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Martin Birgmeier 2020-07-11 14:30:50 UTC
- FreeBSD 12.1 release patch level 6 acting as bhyve host
- The host has a local Ethernet interface em0 with IPv4 and IPv6 addresses assigned; all these addresses are announced via DNS and /etc/hosts
- Via em0, the host sees several other machines on the network; all have IPv4 and IPv6 addresses assigned, as well as DNS and /etc/hosts entries
- Using bhyve to run guests (FreeBSD 12.1 amd64 and i386, and head amd64)
- In order to use bhyve, create bridge and tap interfaces as follows:

# sysctl net.link.tap.up_on_open=1
# ifconfig bridge0 create && ifconfig bridge0 addm em0 && ifconfig bridge0 up
# ifconfig tap905 create && ifconfig bridge0 addm tap905
# sh /usr/share/examples/bhyve/vmrun.sh -u -c 4 -m 3G -t tap905 -d <disk device> <vm name>

- When using "ndp -a" in the bhyve client, entries for all remote machines exist correctly.
- However, there is no entry for the IPv6 address associated with the bridged-to interface em0
- As a result, it is not possible to reach services on the host system from the bhyve client via IPv6 (IPv4 is working)

Scenario (continued):
- Manually add ndp entries in the client:

# ndp -s <IPv6 address of host's em0> <Ethernet address of host's em0>

- It is now possible to reach services on the host system from the client system via IPv6

Expected result:
- NDP should be working also for the host's interface em0 which is bridged to bridge0, and not only for interfaces of remote machines

- The exactly same issue is seen on another bhyve host with re0 as physical interface

-- Martin