Имеется модуль Fastwel CPC313 на базе Байкал-Т1. Самописная программа не принимает мультикастовый трафик, до тех пор пока сетевой интерфейс не переведен в promiscuous режим. Маршрут по-умолчанию и маршрут для мультикастовой сети установлены: [root@localhost ~]# ip route default via 10.0.0.1 dev eth1 10.0.0.0/16 dev eth1 proto kernel scope link src 10.0.111.222 224.0.0.0/4 dev eth1 scope link 3: eth1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 7a:72:6c:4a:7a:ee brd ff:ff:ff:ff:ff:ff inet 10.0.111.222/16 brd 10.0.255.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::7872:6cff:fe4a:7aee/64 scope link valid_lft forever preferred_lft forever Такая же конфигурация под Ubuntu 18.04 работает без перевода сетевой карты в promiscuous режим.
Created attachment 7979 [details] Лог dmesg
Не могли бы вы привести вывод следующих команд и в системе, где всё работает, и в alt (от рута естественно): uname -a grep -H . /proc/sys/net/ipv4/conf/*/rp_filter grep -H . /proc/sys/net/ipv4/conf/*/force_igmp_version cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts cat /proc/net/igmp cat /proc/net/dev_mcast Также если бы Вы сумели воспроизвести проблему на каком-нибудь простом источнике трафика и клиенте, которыми Вы могли бы поделиться с нами, это очень бы помогло.
Created attachment 7980 [details] В системе Alt
Created attachment 7981 [details] В системе Ubuntu 18.04 По на данный момент не было запущено, не было возможности запустить.
С помощью wireshark было установлено, что в момент подписки на группу система Alt успешно отправляет igmp пакеты.
Попробуйте выполнить от рута: echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts и повторить эксперимент на ALT без promisc mode. Если поможет, можно попытаться сделать чуть более жесткие настройки и проверить их: * вернуть 1 в /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts * echo 2 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Такой вариант на Alt: [root@Baikal-T1 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 0 [root@Baikal-T1 ~]# grep -H . /proc/sys/net/ipv4/conf/*/rp_filter /proc/sys/net/ipv4/conf/all/rp_filter:0 /proc/sys/net/ipv4/conf/default/rp_filter:0 /proc/sys/net/ipv4/conf/eth0/rp_filter:0 /proc/sys/net/ipv4/conf/eth1/rp_filter:0 /proc/sys/net/ipv4/conf/eth2/rp_filter:0 /proc/sys/net/ipv4/conf/lo/rp_filter:0 /proc/sys/net/ipv4/conf/sit0/rp_filter:0 C помощью wireshark видно, что с Alt системы igmp пакеты отправляются, в том числе в момент подписки на группу
(In reply to comment #7) > Такой вариант на Alt: > [root@Baikal-T1 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts > 0 > [root@Baikal-T1 ~]# grep -H . /proc/sys/net/ipv4/conf/*/rp_filter > /proc/sys/net/ipv4/conf/all/rp_filter:0 > /proc/sys/net/ipv4/conf/default/rp_filter:0 > /proc/sys/net/ipv4/conf/eth0/rp_filter:0 > /proc/sys/net/ipv4/conf/eth1/rp_filter:0 > /proc/sys/net/ipv4/conf/eth2/rp_filter:0 > /proc/sys/net/ipv4/conf/lo/rp_filter:0 > /proc/sys/net/ipv4/conf/sit0/rp_filter:0 > > C помощью wireshark видно, что с Alt системы igmp пакеты отправляются, в том > числе в момент подписки на группу Имел ввиду, что такой вариант не решил проблему.
Удалось воспроизвести с помощью стороннего ПО. Под Ubuntu запускаю iperf клиент: iperf -c 226.94.1.1 -B 10.0.13.35 -u -T 32 -t 100 -i 1 Под Alt начинаю слушать трафик: socat UDP4-RECVFROM:5001,ip-add-membership=226.94.1.1:10.0.111.222,fork - |hexdump Соответственно пока на Alt не выполню: ip link set eth1 promisc on Трафик не принимается.
Не занимаемся mipsel.