Поэтому я перешел на новую версию OpenDayLight, в настоящее время я использую Neon (по какой-то причине проводник Sodiums API не работал, но сегодня я снова пытаюсь).
Я помню, что в старых версиях OpenDayLight был L2Switch, но я думаю, что он больше не поддерживается, прошлой ночью я возился с установкой потоков, чтобы 2 хоста на одном коммутаторе могли общаться. Я делал это через restconf и md-sal:add-flow или как там это называется, и это было не очень эффективно, но работало, и я смог пропускать трафик.
Я могу написать свой собственный код обучения L2, потому что я делал это для других контроллеров, и это довольно просто, но похоже, что это устаревший подход к обеспечению доступности в сети SDN, и я начинаю чувствовать, что что-то упускаю.
Есть ли в ODL Sodium/Neon какая-то функция, которая обрабатывает ARP для хостов или выполняет какой-то тип обучения L2? Если нет, то каков эффективный способ установки потоков в сеть, особенно в сеть типа центра обработки данных с большим количеством коммутаторов. Ручная установка потоков на один коммутатор была терпимой, но как только мое оборудование будет готово, у нас будет 8 физических OVS-устройств, и установка потоков по одному на каждом из остальных может меня убить.
Кроме того, я просматривал здесь и через код проекта для обработки пакетов IN на контроллере, мне нужно будет сделать это, если я буду изучать L2, и моя основная цель с ODL - разработать какое-то приложение сетевой безопасности.
Если я не ошибаюсь, когда устройство OVS получает пакет, который не знает, как переслать, оно отправит его на контроллер, а контроллер примет решение и установит поток на коммутаторе для будущих пакетов. Я знаю, как установить поток, я просто немного потерялся в том, где поставить код, чтобы проверить пакет и решить, что с ним делать. В POX это было легко, почти просто функция PacketIn, которую вы могли бы переопределить, надеюсь, это что-то похожее на ODL.
Также кажется, что у Oxygen все еще есть L2Switch, если у меня есть большая топология, в которой я не могу вручную установить потоки, стоит ли переходить на Oxygen для функциональности L2?