[ewg] Re: [PATCH] update docs/ipoib_release_notes.txt to educate users on arp_ignore etc

Or Gerlitz ogerlitz at voltaire.com
Thu May 31 02:12:06 PDT 2007


updated patch below.

Or.

--- ipoib_release_notes.txt.orig	2007-05-31 11:58:23.000000000 +0300
+++ ipoib_release_notes.txt	2007-05-31 12:10:47.000000000 +0300
@@ -64,21 +64,28 @@ export OFA_KERNEL_PARAMS="--without-ipoi
 ===============================================================================
 3. Known Issues
 ===============================================================================
-1. If a host has multiple interfaces, each belonging to a different IP subnet,
-   yet they use the same InfiniBand switch, the host may build an incorrect ARP
-   table. Generally speaking, you must not have two IP (=L3) subnets sharing the
-   same L2 (specifically broadcast) domain. In infiniband (IPoIB) it means have
-   two IP subnets over the same Partition and in Ethernet is means have two IP
-   subnets over the same VLAN.
+1. A host that has multiple interfaces, each belonging to a different IP subnet,
+   yet they use the same InfiniBand Partition and are connected to the same IB
+   Switch, violates the IP rule requiring different broadcast domains and hence
+   may build an incorrect ARP table.
+
+   Thus the correct setting of multi-homed IPoIB host would be to use a different
+   PKEY for each IP subnet. When a host has multiple interfaces on the same IP
+   subnet, to avoid the case of a peer building an incorrect ARP entry (neighbour),
+   set the net.ipv4.conf.X.arp_ignore value to 1 or 2, where X stands for the IPoIB
+   (non child) interfaces (eg ib0, ib1, etc), this would cause the network stack to
+   send ARP replies only on the interface with the IP address speficied in the ARP
+   request:
+
+   sysctl -w net.ipv4.conf.ib0.arp_ignore=1
+   sysctl -w net.ipv4.conf.ib1.arp_ignore=1

-   As a work-around, configure ARP to only send replies on the
-   interface with the target IP address. Either globally:
+   or globally,

-   sysctl -w net.ipv4.conf.all.arp_ignore=2
+   sysctl -w net.ipv4.conf.all.arp_ignore=1

-   or for specific interfaces:
-
-   for i in /proc/sys/net/ipv4/conf/ib*/arp_filter; do echo 1 > $i; done
+   To learn more on the arp_ignore param, see Documentation/networking/ip-sysctl.txt
+   Note that distributions have the means to make kernel params persistent.

 2. On SuSE 10 and SLES 10:
    a.   There are IPoIB alias lines in modprobe.conf which prevent stopping/




More information about the ewg mailing list