Отправлять multicast должен - netmap-у из приложения скармливается произвольный ethernet-фрейм, в том числе и multicast. С приёмом multicast немного сложнее - если пакет идет на multicast mac address (01:* а не ff:ff:ff:ff:ff:ff), то нужно в сетевухе обновлять фильтр мультакст-адресов. Насколько понимаю это можно сделать через ioctl SIOCADDMULTI и в случае netmap тоже. Т. е. теоретически умеет.
В целом netmap это закат солнца вручную, но зато в userspace, поэтому проще заниматься оптимизацией, чем в ядре.
А во что обошлась карточка/где брал? Я всё думаю соорудить какой-нибудь не очень дорогой стендик на 10G, дабы поразвлекаться. Хотя меня конечно не netmap в первую очередь интересует, а вполне себе честный tcp.
Уже поздно, наверное, но 10g карточки примерно по 100 баксов с доставкой. Дорого. Но. Для лабы дома можно взять мелланоксовские инфинибанд карты по 25 баксов, и будет вин.
Comments 8
Reply
С приёмом multicast немного сложнее - если пакет идет на multicast mac address (01:* а не ff:ff:ff:ff:ff:ff), то нужно в сетевухе обновлять фильтр мультакст-адресов. Насколько понимаю это можно сделать через ioctl SIOCADDMULTI и в случае netmap тоже. Т. е. теоретически умеет.
В целом netmap это закат солнца вручную, но зато в userspace, поэтому проще заниматься оптимизацией, чем в ядре.
Reply
Reply
Reply
Reply
Reply
Reply
Leave a comment