Hello,<br><br>I've run into some issues with IPoIB bonding when attempting multicast communication. I'm not using the ofa-kernel package, but the modules in 2.6.27 kernel including the bonding module. For the most part, everything has worked so far with a few minor adjustments for Debian/Ubuntu.<br>
<br>Any assistance or suggestions would be greatly appreciated. I've already done extensive research on this issue through the mailing list archives, but none of the previous suggestions fit or work.<br><br>Using:<br>
SilverStorm 9024 managed switches<br>SuperMicro SuperServer 6015TW-TB<br>QLogic 7104-HCA-128LPX-DDR dual port IB cards<br>Ubuntu 8.10 (2.6.27-11-server)<br>Using OFED 1.4.0 (Guy Coats debian packages)<br><br>IPoIB Multicast not working for bonded interfaces.<br>
<br>The above works when tested against single IB ports, single Ethernet ports, and bonded Ethernet ports, but not on bonded IB ports<br><br>I've tried disabling IPv6 by blacklisting ipv6 in /etc/modprobe.d/blacklist<br>
<br>Unicast TCP/IP seems to work just fine.<br><br>I've tried setting mode to datagram and changing the MTU so it is lower 2044<br><br>Use ib-bond script also added bond directly with <br><br>echo +bond3 > /sys/class/net/bonding_masters<br>
echo 1 > /sys/class/net/bond3/bonding/mode<br>echo 100 > /sys/class/net/bond3/bonding/miimon<br>echo +ib0 > /sys/class/net/bond3/bonding/slaves<br>echo +ib1 > /sys/class/net/bond3/bonding/slaves<br>ifconfig bond3 <a href="http://192.168.47.100/24">192.168.47.100/24</a><br>
route add -net <a href="http://224.0.0.0/3">224.0.0.0/3</a> gw 192.168.47.100<br>socat STDIO UDP4-DATAGRAM:<a href="http://224.1.0.1:6666">224.1.0.1:6666</a>,bind=:6666,range=<a href="http://192.168.47.0/24,ip-add-membership=224.1.0.1:192.168.47.100">192.168.47.0/24,ip-add-membership=224.1.0.1:192.168.47.100</a><br>
(socat is used to send multicast traffic, it's configure as peer-peer)<br><br>echo +bond3 > /sys/class/net/bonding_masters<br>echo 1 > /sys/class/net/bond3/bonding/mode<br>echo 100 > /sys/class/net/bond3/bonding/miimon<br>
echo +ib0 > /sys/class/net/bond3/bonding/slaves<br>echo +ib1 > /sys/class/net/bond3/bonding/slaves<br>ifconfig bond3 <a href="http://192.168.47.102/24">192.168.47.102/24</a><br>route add -net <a href="http://224.0.0.0/3">224.0.0.0/3</a> gw 192.168.47.102<br>
socat STDIO UDP4-DATAGRAM:<a href="http://224.1.0.1:6666">224.1.0.1:6666</a>,bind=:6666,range=<a href="http://192.168.47.0/24,ip-add-membership=224.1.0.1:192.168.47.102">192.168.47.0/24,ip-add-membership=224.1.0.1:192.168.47.102</a><br>
<br>=== dmesg reports ===<br>[45784.497143] bonding: bond3 is being created...<br>[45784.498401] bonding: bond3: setting mode to active-backup (1).<br>[45784.498434] bonding: bond3: Setting MII monitoring interval to 100.<br>
[45784.511087] bonding: bond3: doing slave updates when interface is down.<br>[45784.511095] bonding: bond3: Adding slave ib0.<br>[45784.511099] bonding bond3: master_dev is not up in bond_enslave<br>[45784.511100] bonding: bond3: Warning: enslaved VLAN challenged slave ib0. Adding VLANs will be blocked as long as ib0 is part of bond bond3<br>
[45784.511103] bonding: bond3: Warning: The first slave device specified does not support setting the MAC address. Setting fail_over_mac to active.<6>bonding: bond3: enslaving ib0 as a backup interface with a down link.<br>
[45784.557785] bonding: bond3: doing slave updates when interface is down.<br>[45784.557794] bonding: bond3: Adding slave ib1.<br>[45784.557797] bonding bond3: master_dev is not up in bond_enslave<br>[45784.557798] bonding: bond3: Warning: enslaved VLAN challenged slave ib1. Adding VLANs will be blocked as long as ib1 is part of bond bond3<br>
[45784.604880] bonding: bond3: enslaving ib1 as a backup interface with a down link.<br>[45784.607960] ib0: mtu > 2044 will cause multicast packet drops.<br>[45784.609909] ib1: mtu > 2044 will cause multicast packet drops.<br>
[45784.613484] ADDRCONF(NETDEV_UP): bond3: link is not ready<br>[45784.613498] bonding: bond3: link status definitely up for interface ib0.<br>[45784.613501] bonding: bond3: making interface ib0 the new active one.<br>[45784.613524] bonding: bond3: first active interface up!<br>
[45784.613527] bonding: bond3: link status definitely up for interface ib1.<br>[45784.615315] ADDRCONF(NETDEV_CHANGE): bond3: link becomes ready<br>[45784.616065] ib0: multicast join failed for 0001:0000:0000:0000:0000:0000:0000:0000, status -22<br>
[45784.616176] ib0: multicast join failed for 0001:0000:0000:0000:0000:0000:0000:0000, status -22<br>[45786.610476] ib0: multicast join failed for 0001:0000:0000:0000:0000:0000:0000:0000, status -22<br>[45794.610301] ib0: multicast join failed for 0001:0000:0000:0000:0000:0000:0000:0000, status -22<br>
[45795.113757] bond3: no IPv6 routers present<br>[45810.610409] ib0: multicast join failed for 0001:0000:0000:0000:0000:0000:0000:0000, status -22<br>[45826.610284] ib0: multicast join failed for 0001:0000:0000:0000:0000:0000:0000:0000, status -22<br>
<br>=== my network config /etc/network/interfaces ===<br><br>auto lo<br>iface lo inet loopback<br><br>auto eth0<br>iface eth0 inet manual<br><br>auto eth1<br>iface eth1 inet manual<br><br># auto eth0.45<br># iface eth0.45 inet manual<br>
# vlan_raw_device eth0<br># <br># auto eth1.45<br># iface eth1.45 inet manual<br># vlan_raw_device eth1<br># <br># auto eth0.46<br># iface eth0.46 inet manual<br># vlan_raw_device eth0<br># <br># auto eth1.46<br># iface eth1.46 inet manual<br>
# vlan_raw_device eth1<br><br># auto bond0<br># iface bond0 inet manual<br># slaves eth0.45 eth1.45<br># bond_miimon 100<br># bond_mode active-backup<br># pre-up ifup eth0.45 eth1.45<br># post-down ifdown eth0.45 eth1.45<br>
<br>auto bond0<br>iface bond0 inet manual<br>slaves eth0 eth1<br>bond_miimon 100<br>bond_mode active-backup<br>pre-up ifup eth0 eth1<br>post-down ifdown eth0 eth1<br><br># auto bond1<br># iface bond1 inet manual<br># slaves eth0.46 eth1.46<br>
# bond_miimon 100<br># bond_mode active-backup<br># pre-up ifup eth0.46 eth1.46<br># post-down ifdown eth0.46 eth1.46<br><br>auto vmbr0<br>iface vmbr0 inet static<br>address 192.168.45.100<br>netmask 255.255.255.0<br>network 192.168.45.0<br>
gateway 192.168.45.7<br>broadcast 192.168.45.255<br>bridge_ports bond0<br>bridge_fd 9<br>bridge_hello 2<br>bridge_maxage 12<br>bridge_stp off<br><br># auto vmbr1<br># iface vmbr1 inet static<br># address 192.168.46.100<br>
# netmask 255.255.252.0<br># network 192.168.46.0<br># gateway 192.168.46.7<br># broadcast 192.168.46.255<br># bridge_ports bond1<br># bridge_fd 9<br># bridge_hello 2<br># bridge_maxage 12<br># bridge_stp off<br><br>auto ib0<br>
iface ib0 inet manual<br>pre-up echo connected > /sys/class/net/$IFACE/mode<br>pre-up echo 65520 > /sys/class/net/$IFACE/mtu<br><br>auto ib1<br>iface ib1 inet manual<br>pre-up echo connected > /sys/class/net/$IFACE/mode<br>
pre-up echo 65520 > /sys/class/net/$IFACE/mtu<br><br>auto bond3<br>iface bond3 inet manual<br>up ib-bond --bond-name bond3 --bond-ip <a href="http://192.168.47.100/24">192.168.47.100/24</a> --slaves ib0,ib1<br>up echo 65520 > /sys/class/net/$IFACE/mtu<br>
down ib-bond --bond-name bond3 --stop<br><br>=== ifconfig -a reports ===<br>bond0     Link encap:Ethernet  HWaddr 00:30:48:c6:76:1c  <br>          inet6 addr: fe80::230:48ff:fec6:761c/64 Scope:Link<br>          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1<br>
          RX packets:34656 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:6411 errors:0 dropped:0 overruns:0 carrier:0<br>          collisions:0 txqueuelen:0 <br>          RX bytes:2604958 (2.6 MB)  TX bytes:3494145 (3.4 MB)<br>
<br>bond3     Link encap:UNSPEC  HWaddr 80-00-04-04-FE-80-00-00-00-00-00-00-00-00-00-00  <br>          inet addr:192.168.47.102  Bcast:192.168.47.255  Mask:255.255.255.0<br>          inet6 addr: fe80::206:6a00:a000:f77d/64 Scope:Link<br>
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:65520  Metric:1<br>          RX packets:2 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:5 errors:0 dropped:130 overruns:0 carrier:0<br>          collisions:0 txqueuelen:0 <br>
          RX bytes:112 (112.0 B)  TX bytes:324 (324.0 B)<br><br>eth0      Link encap:Ethernet  HWaddr 00:30:48:c6:76:1c  <br>          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1<br>          RX packets:34656 errors:0 dropped:0 overruns:0 frame:0<br>
          TX packets:6411 errors:0 dropped:0 overruns:0 carrier:0<br>          collisions:0 txqueuelen:1000 <br>          RX bytes:2604958 (2.6 MB)  TX bytes:3494145 (3.4 MB)<br>          Memory:d8220000-d8240000 <br><br>
eth1      Link encap:Ethernet  HWaddr 00:30:48:c6:76:1c  <br>          UP BROADCAST SLAVE MULTICAST  MTU:1500  Metric:1<br>          RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br>
          collisions:0 txqueuelen:1000 <br>          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)<br>          Memory:d8260000-d8280000 <br><br>ib0       Link encap:UNSPEC  HWaddr 80-00-04-04-FE-80-00-00-00-00-00-00-00-00-00-00  <br>
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:65520  Metric:1<br>          RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:2 errors:0 dropped:123 overruns:0 carrier:0<br>          collisions:0 txqueuelen:256 <br>
          RX bytes:0 (0.0 B)  TX bytes:136 (136.0 B)<br><br>ib1       Link encap:UNSPEC  HWaddr 80-00-04-05-FE-80-00-00-00-00-00-00-00-00-00-00  <br>          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:65520  Metric:1<br>          RX packets:2 errors:0 dropped:0 overruns:0 frame:0<br>
          TX packets:3 errors:0 dropped:7 overruns:0 carrier:0<br>          collisions:0 txqueuelen:256 <br>          RX bytes:112 (112.0 B)  TX bytes:188 (188.0 B)<br><br>lo        Link encap:Local Loopback  <br>          inet addr:127.0.0.1  Mask:255.0.0.0<br>
          inet6 addr: ::1/128 Scope:Host<br>          UP LOOPBACK RUNNING  MTU:16436  Metric:1<br>          RX packets:4 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0<br>
          collisions:0 txqueuelen:0 <br>          RX bytes:352 (352.0 B)  TX bytes:352 (352.0 B)<br><br>vmbr0     Link encap:Ethernet  HWaddr 00:30:48:c6:76:1c  <br>          inet addr:192.168.45.102  Bcast:192.168.45.255  Mask:255.255.255.0<br>
          inet6 addr: fe80::230:48ff:fec6:761c/64 Scope:Link<br>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1<br>          RX packets:11605 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:5638 errors:0 dropped:0 overruns:0 carrier:0<br>
          collisions:0 txqueuelen:0 <br>          RX bytes:1057952 (1.0 MB)  TX bytes:3439987 (3.4 MB)<br><br>vnet0     Link encap:Ethernet  HWaddr 8a:c0:6b:6a:db:5a  <br>          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0<br>
          inet6 addr: fe80::88c0:6bff:fe6a:db5a/64 Scope:Link<br>          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1<br>          RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0<br>
          collisions:0 txqueuelen:0 <br>          RX bytes:0 (0.0 B)  TX bytes:6274 (6.2 KB)<br>          <br>Best regards,<br>Dennis Portello<br>