Hi Ophir,
I have tested the new ipoibd service but unfortunately it's still not working :-(
The new script generates this configuration:
[root@n02 ~]# tail /sys/class/net/eth2/eth/{slaves,vifs}
==> /sys/class/net/eth2/eth/slaves <==
ib0.1
ib0.8001.1
ib0.8001.2
ib0.8001.3
ib0.8001.4
==> /sys/class/net/eth2/eth/vifs <==
SLAVE=ib0.1 MAC=00:02:c9:50:60:8d VLAN=N/A
SLAVE=ib0.8001.1 MAC=00:02:c9:50:60:8d VLAN=1
SLAVE=ib0.8001.2 MAC=N/A VLAN=N/A
SLAVE=ib0.8001.3 MAC=d2:50:00:71:e1:90 VLAN=1
SLAVE=ib0.8001.4 MAC=8a:4b:57:2a:49:62 VLAN=1
It creates 2 clones (ib0.1 and ib0.8001.1, pkey/vlan tagged) and it enslaves them with the MAC address of the eIPoIB interface (eth2) causing these logs by the kernel:
eth2.1: received packet with own address as source address
eth2.1: received packet with own address as source address
It creates and enslaves one clone pkey tagged (ib0.8001.2) without configuring it.
Finally it creates 2 other clones pkey/vlan tagged (ib0.8001.3 and ib0.8001.4) but it enslaves them with the MAC addresses of the linux TAP interfaces used by the bridge
[root@n02 ~]# brctl show brq570dc494-a8
bridge name bridge id STP enabled interfaces
brq570dc494-a8 8000.0002c950608d no eth2.1
tap03eecdb6-1b
tapbf3135d2-4b
[root@n02 ~]# ip a show dev tap03eecdb6-1b
28: tap03eecdb6-1b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 8a:4b:57:2a:49:62 brd ff:ff:ff:ff:ff:ff
inet6 fe80::884b:57ff:fe2a:4962/64 scope link
valid_lft forever preferred_lft forever
[root@n02 ~]# ip a show dev tapbf3135d2-4b
18: tapbf3135d2-4b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether d2:50:00:71:e1:90 brd ff:ff:ff:ff:ff:ff
inet6 fe80::d050:ff:fe71:e190/64 scope link
valid_lft forever preferred_lft forever
These 2 last clones should instead be enslaved with the MAC addresses of VETH interfaces of the DHCP and ROUTER namespaces:
[root@n02 ~]# ip netns exec qdhcp-570dc494-a876-401c-a80d-6696e2140a5f ip a show dev ns-bf3135d2-4b
17: ns-bf3135d2-4b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether fa:16:3e:04:4c:f7 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.3/24 brd 10.0.0.255 scope global ns-bf3135d2-4b
inet6 fe80::f816:3eff:fe04:4cf7/64 scope link
valid_lft forever preferred_lft forever
[root@n02 ~]# ip netns exec qrouter-6e95aabe-b64a-4139-b12a-1413444071c1 ip a show dev qr-03eecdb6-1b
27: qr-03eecdb6-1b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether fa:16:3e:52:32:68 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 brd 10.0.0.255 scope global qr-03eecdb6-1b
inet6 fe80::f816:3eff:fe52:3268/64 scope link
valid_lft forever preferred_lft forever
With the previous configuration the VM does not get an IP address because the eIPoIB module is misconfigured. Please, see these kernel logs:
eth_ipoib: vif: fa:16:3e:04:4c:f7 with vlan: 1 miss for parent: ib0
eth_ipoib: vif: fa:16:3e:04:4c:f7 with vlan: 1 miss for parent: ib0
eth_ipoib: vif: fa:16:3e:04:4c:f7 with vlan: 1 miss for parent: ib0
As I wrote before my working configuration is:
[root@n02 ~]# tail /sys/class/net/eth2/eth/{slaves,vifs}
==> /sys/class/net/eth2/eth/slaves <==
ib0.8001.1
ib0.8001.2
==> /sys/class/net/eth2/eth/vifs <==
SLAVE=ib0.8001.1 MAC=fa:16:3e:04:4c:f7 VLAN=1 <------- DHCP
SLAVE=ib0.8001.2 MAC=fa:16:3e:52:32:68 VLAN=1 <------- ROUTER
Thank you very much!
Ale