Хост Ubuntu имеет p2p1.17 физический интерфейс, подключенный к bri17 мост. LXC контейнер FOO имеет следующую сетевую конфигурацию:
lxc.network.type = veth
lxc.network.link = bri17
lxc.network.hwaddr = 00:16:3e:aa:aa:66
При запуске получаю:
# lxc-info -n FOO | grep Link
Link: vethHUPG1B
# brctl show bri17
bridge name bridge id STP enabled interfaces
bri17 8000.3cfdfe01eee0 no p2p1.17
vethHUPG1B
пока все выглядит нормально, но
# brctl showmacs bri17
port no mac addr is local? ageing timer
1 00:16:3e:aa:aa:66 no 19.81
2 fe:d8:27:6b:72:1d yes 0.00
2 fe:d8:27:6b:72:1d yes 0.00
показывает, что MAC-адрес контейнера получен не на том порту (p2p1.17)
Когда я добавляю ip к bri17 и eth0 контейнера, они могут пинговать себя, но контейнер не может пинговать что-либо за пределами хоста, например, шлюз. Чтобы быть более забавным, в контейнере есть правильная таблица arp:
# arp -n
Address HWtype HWaddress Flags Mask Iface
gateway-ip ether 00:15:2c:16:68:40 C eth0
Что не так в этой конфигурации?
Это была проблема с драйвером / прошивкой сетевого адаптера Intel X710 (p2p1). Исправлено компиляцией новейших драйверов от Intel.