Size: a a a

OpenStack — русскоговорящее сообщество

2019 December 12

J

J in OpenStack — русскоговорящее сообщество
Никита Суворов
у автора да, у меня нет
А у тебя как?)
Раз уж у тебя схема ближе к тому что делает коллега, расскажи)
источник

А

Артем in OpenStack — русскоговорящее сообщество
Артем
только это прокинуто в ovs
и эта часть работает
источник

А

Артем in OpenStack — русскоговорящее сообщество
потому что это flat network я полагаю
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
J
А у тебя как?)
Раз уж у тебя схема ближе к тому что делает коллега, расскажи)
ну будем считать что у меня тоже влан называется провайдер в него всунут bond0 целиком
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
а не bond.XXX
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
на уровне овс наверное отличие кончится
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
но тяжело не видя конфигов обсуждать =)
источник

J

J in OpenStack — русскоговорящее сообщество
Никита Суворов
ну будем считать что у меня тоже влан называется провайдер в него всунут bond0 целиком
Не "влан называется",  а бридж, ты хотел сказать?)
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
J
Не "влан называется",  а бридж, ты хотел сказать?)
да
источник

J

J in OpenStack — русскоговорящее сообщество
Короче, в этом и разница.

Смотри, у тебя, поскольку трафик с тегированных сабинтерфейсов все равно проходит в итоге через ovs, все ок. Ведь бонд целиком добавлен в ovs бридж.

А вот если он не добавлен, история другая, как мне кажется.
С исходящим с хоста трафиком все нормально. ovs генерирует vxlan пакет, он tcp\ip стеком ядра оборачивается в нужные заголовки и уходит себе через bond0.255.

Но что будет когда vxlan трафик внутри тегированного ethernet фрейма приходит на хост?
Фрейм приходит через bond0, дальше 8021q модуль парсит влан заголовок и оказывается что трафик предназначен тегированному сабинтерфейсу bond0.255. Фрейм попадает на   bond0.255, обработка переходит к tcp\ip стеку ядра. ip и udp заголовки усешно обработаны и вот у нас остается ethernet фрейм оверлейной сети завернутый в vxlan заголовок. Но в ядре то никаких vxlan интерфейсов не создано, модуль vxlan может быть вообще не подгружен, потому что за обработку vxlan отвечает модуль openvswitch. В итоге этот vxlan пакет дропается не попадая к модулю ovs.

Наверняка я, конечно, не знаю, но на уровне интуиции, как ты говоришь, все для меня именно так выглядит. Хотелось бы знать наверняка, но даже пока и хз откуда начать читать.
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
J
Короче, в этом и разница.

Смотри, у тебя, поскольку трафик с тегированных сабинтерфейсов все равно проходит в итоге через ovs, все ок. Ведь бонд целиком добавлен в ovs бридж.

А вот если он не добавлен, история другая, как мне кажется.
С исходящим с хоста трафиком все нормально. ovs генерирует vxlan пакет, он tcp\ip стеком ядра оборачивается в нужные заголовки и уходит себе через bond0.255.

Но что будет когда vxlan трафик внутри тегированного ethernet фрейма приходит на хост?
Фрейм приходит через bond0, дальше 8021q модуль парсит влан заголовок и оказывается что трафик предназначен тегированному сабинтерфейсу bond0.255. Фрейм попадает на   bond0.255, обработка переходит к tcp\ip стеку ядра. ip и udp заголовки усешно обработаны и вот у нас остается ethernet фрейм оверлейной сети завернутый в vxlan заголовок. Но в ядре то никаких vxlan интерфейсов не создано, модуль vxlan может быть вообще не подгружен, потому что за обработку vxlan отвечает модуль openvswitch. В итоге этот vxlan пакет дропается не попадая к модулю ovs.

Наверняка я, конечно, не знаю, но на уровне интуиции, как ты говоришь, все для меня именно так выглядит. Хотелось бы знать наверняка, но даже пока и хз откуда начать читать.
не я могу вытащить бонд из бриджа и все продолжит работать кроме внешних сетей
источник

J

J in OpenStack — русскоговорящее сообщество
Никита Суворов
не я могу вытащить бонд из бриджа и все продолжит работать кроме внешних сетей
А ну-ка, давай вот чо сделаем.
lsmod | grep vxlan сделай.
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
J
А ну-ка, давай вот чо сделаем.
lsmod | grep vxlan сделай.
пожалуйста lsmod | grep vxlan
vport_vxlan            12640  1
vxlan                  45114  1 vport_vxlan
ip6_udp_tunnel         12755  1 vxlan
udp_tunnel             13373  1 vxlan
openvswitch           106775  326 vport_vxlan
источник

А

Артем in OpenStack — русскоговорящее сообщество
# lsmod | grep vxlan
vxlan                  61440  0
ip6_udp_tunnel         16384  1 vxlan
udp_tunnel             16384  1 vxlan
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
чет у меня по бодрее =)
источник

А

Артем in OpenStack — русскоговорящее сообщество
на убунте у меня та же борода:
# lsmod | grep vxlan
vxlan                  57344  0
ip6_udp_tunnel         16384  1 vxlan
udp_tunnel             16384  1 vxlan
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
vport_vxlan мож его впилили в vxlan
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
у меня овс тут старенький
источник

J

J in OpenStack — русскоговорящее сообщество
Артем
# lsmod | grep vxlan
vxlan                  61440  0
ip6_udp_tunnel         16384  1 vxlan
udp_tunnel             16384  1 vxlan
lsmod | grep openvswitch
источник

НС

Никита Суворов in OpenStack — русскоговорящее сообщество
тут кста наркоманов с netplan не подвезли?
источник