2017-03-02 17:04:35 |
Luke Bockelmann |
description |
The source MAC of VRRP packet is not being handled correctly in vcenter-only Contrail vRouter VM. On the parent VIF(eth1) the sub interface chosen using the source mac of the packet and Vlan id. It looks like for VRRP packet, source mac changes as per VRRP group id and because of this we are not able to choose the sub interface properly. This is confirmed with a tcpdump. The source mac of Unicast is as registered with Vrouter and source MAC of VRRP is group mac.
Unicast:
18:07:54.339325 IP (tos 0x0, ttl 64, id 466, offset 0, flags [none], proto ICMP (1), length 84)
10.1.1.6 > 10.1.1.3: ICMP echo request, id 44318, seq 2, length 64
0x0000: 0050 56a6 76b0 0050 56a6 583b 8100 0065
0x0010: 0800 4500 0054 01d2 0000 4001 62cd 0a01
0x0020: 0106 0a01 0103 0800 7d1c ad1e 0002 58b7
0x0030: 7fdf 0006 0a23 0809 0a0b 0c0d 0e0f 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
18:07:54.342664 IP (tos 0x0, ttl 64, id 466, offset 0, flags [none], proto ICMP (1), length 84)
10.1.1.3 > 10.1.1.6: ICMP echo reply, id 44318, seq 2, length 64
0x0000: 0050 56a6 583b 0050 56a6 76b0 8100 0064
0x0010: 0800 4500 0054 01d2 0000 4001 62cd 0a01
0x0020: 0103 0a01 0106 0000 851c ad1e 0002 58b7
0x0030: 7fdf 0006 0a23 0809 0a0b 0c0d 0e0f 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
Vrrp:
18:07:52.534786 IP (tos 0xc0, ttl 255, id 2, offset 0, flags [none], proto VRRP (112), length 40)
10.1.1.6 > 224.0.0.18: vrrp 10.1.1.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 1s, length 20, addrs: 10.1.1.10
0x0000: 0100 5e00 0012 0000 5e00 0101 8100 0065
0x0010: 0800 45c0 0028 0002 0000 ff70 cf8a 0a01
0x0020: 0106 e000 0012 2101 6401 0001 6ff1 0a01
0x0030: 010a 0000 0000 0000 0000 0000 0000 0000
18:07:53.329484 IP (tos 0xc0, ttl 255, id 2, offset 0, flags [none], proto VRRP (112), length 40)
10.1.1.6 > 224.0.0.18: vrrp 10.1.1.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 1s, length 20, addrs: 10.1.1.10
0x0000: 0100 5e00 0012 0000 5e00 0101 8100 0065
0x0010: 0800 45c0 0028 0002 0000 ff70 cf8a 0a01
0x0020: 0106 e000 0012 2101 6401 0001 6ff1 0a01
0x0030: 010a 0000 0000 0000 0000 0000 0000 0000
This shows that for VRRP source MAC is 0000 5e00 0101 because of which we can’t associate this packet to Subinterface with vlan 0x0065, where as unicast mac is 0050 56a6 583b, which we associate properly to subinterface |
vCenter-Only: 3.1.2B62
The source MAC of VRRP packet is not being handled correctly in vcenter-only Contrail vRouter VM. On the parent VIF(eth1) the sub interface chosen using the source mac of the packet and Vlan id. It looks like for VRRP packet, source mac changes as per VRRP group id and because of this we are not able to choose the sub interface properly. This is confirmed with a tcpdump. The source mac of Unicast is as registered with Vrouter and source MAC of VRRP is group mac.
Unicast:
18:07:54.339325 IP (tos 0x0, ttl 64, id 466, offset 0, flags [none], proto ICMP (1), length 84)
10.1.1.6 > 10.1.1.3: ICMP echo request, id 44318, seq 2, length 64
0x0000: 0050 56a6 76b0 0050 56a6 583b 8100 0065
0x0010: 0800 4500 0054 01d2 0000 4001 62cd 0a01
0x0020: 0106 0a01 0103 0800 7d1c ad1e 0002 58b7
0x0030: 7fdf 0006 0a23 0809 0a0b 0c0d 0e0f 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
18:07:54.342664 IP (tos 0x0, ttl 64, id 466, offset 0, flags [none], proto ICMP (1), length 84)
10.1.1.3 > 10.1.1.6: ICMP echo reply, id 44318, seq 2, length 64
0x0000: 0050 56a6 583b 0050 56a6 76b0 8100 0064
0x0010: 0800 4500 0054 01d2 0000 4001 62cd 0a01
0x0020: 0103 0a01 0106 0000 851c ad1e 0002 58b7
0x0030: 7fdf 0006 0a23 0809 0a0b 0c0d 0e0f 1011
0x0040: 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021
0x0050: 2223 2425 2627 2829 2a2b 2c2d 2e2f 3031
0x0060: 3233 3435 3637
Vrrp:
18:07:52.534786 IP (tos 0xc0, ttl 255, id 2, offset 0, flags [none], proto VRRP (112), length 40)
10.1.1.6 > 224.0.0.18: vrrp 10.1.1.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 1s, length 20, addrs: 10.1.1.10
0x0000: 0100 5e00 0012 0000 5e00 0101 8100 0065
0x0010: 0800 45c0 0028 0002 0000 ff70 cf8a 0a01
0x0020: 0106 e000 0012 2101 6401 0001 6ff1 0a01
0x0030: 010a 0000 0000 0000 0000 0000 0000 0000
18:07:53.329484 IP (tos 0xc0, ttl 255, id 2, offset 0, flags [none], proto VRRP (112), length 40)
10.1.1.6 > 224.0.0.18: vrrp 10.1.1.6 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype none, intvl 1s, length 20, addrs: 10.1.1.10
0x0000: 0100 5e00 0012 0000 5e00 0101 8100 0065
0x0010: 0800 45c0 0028 0002 0000 ff70 cf8a 0a01
0x0020: 0106 e000 0012 2101 6401 0001 6ff1 0a01
0x0030: 010a 0000 0000 0000 0000 0000 0000 0000
This shows that for VRRP source MAC is 0000 5e00 0101 because of which we can’t associate this packet to Subinterface with vlan 0x0065, where as unicast mac is 0050 56a6 583b, which we associate properly to subinterface |
|