Comment 3 for bug 1457805

Revision history for this message
Vedamurthy Joshi (vedujoshi) wrote :

On R3.2 Build 1, tried the following :
Server1 : 10.204.217.194( MAC : 52:54:00:01:00:01)
Vrouter node : 10.204.217.205 ( MAC : 52:54:00:13:df:eb)

Scapy was used to generate priority-tagged traffic

When priority-tagged arp request was sent from Server1 to vrouter-node, the arp responses were seen:

>>> ls(e/dot1q/arp)
dst : DestMACField = 'ff:ff:ff:ff:ff:ff' (None)
src : SourceMACField = '52:54:00:01:00:01' (None)
type : XShortEnumField = 33024 (0)
--
prio : BitField = 5 (0)
id : BitField = 0 (0)
vlan : BitField = 0 (1)
type : XShortEnumField = 2054 (0)
--
hwtype : XShortField = 1 (1)
ptype : XShortEnumField = 2048 (2048)
hwlen : ByteField = 6 (6)
plen : ByteField = 4 (4)
op : ShortEnumField = 1 (1)
hwsrc : ARPSourceMACField = '52:54:00:01:00:01' (None)
psrc : SourceIPField = '10.204.217.194' (None)
hwdst : MACField = '00:00:00:00:00:00' ('00:00:00:00:00:00')
pdst : IPField = '10.204.217.205' ('0.0.0.0')
>>>

As seen on vrouter node :
12:43:06.193662 52:54:00:01:00:01 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 0, p 5, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.204.217.205 tell 10.204.217.194, length 42
 0x0000: ffff ffff ffff 5254 0001 0001 8100 a000
 0x0010: 0806 0001 0800 0604 0001 5254 0001 0001
 0x0020: 0acc d9c2 0000 0000 0000 0acc d9cd 0000
 0x0030: 0000 0000 0000 0000 0000 0000
12:43:06.193759 52:54:00:13:df:eb > 52:54:00:01:00:01, ethertype ARP (0x0806), length 42: Ethernet (len 6), IPv4 (len 4), Reply 10.204.217.205 is-at 52:54:00:13:df:eb, length 28
 0x0000: 5254 0001 0001 5254 0013 dfeb 0806 0001
 0x0010: 0800 0604 0002 5254 0013 dfeb 0acc d9cd
 0x0020: 5254 0001 0001 0acc d9c2

——————————————————————————————————————————————————————————————————

When priority-tagged arp request was sent from vrouter-node to Server1 also, the arp responses were seen:
>>> sendp(e/dot1q/arp)
.
Sent 1 packets.
>>> ls(e/dot1q/arp)
dst : DestMACField = 'ff:ff:ff:ff:ff:ff' (None)
src : SourceMACField = '52:54:00:13:df:eb' (None)
type : XShortEnumField = 33024 (0)
--
prio : BitField = 6 (0)
id : BitField = 0 (0)
vlan : BitField = 0 (1)
type : XShortEnumField = 2054 (0)
--
hwtype : XShortField = 1 (1)
ptype : XShortEnumField = 2048 (2048)
hwlen : ByteField = 6 (6)
plen : ByteField = 4 (4)
op : ShortEnumField = 1 (1)
hwsrc : ARPSourceMACField = '52:54:00:13:df:eb' (None)
psrc : SourceIPField = '10.204.217.205' (None)
hwdst : MACField = '00:00:00:00:00:00' ('00:00:00:00:00:00')
pdst : IPField = '10.204.217.194' ('0.0.0.0')
>>>

As seen on receiver:
root@testbed-1-vm1:~# tcpdump -ni eth0 src host 10.204.217.205 -vv -xx -e
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:02:23.389347 52:54:00:13:df:eb > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 60: vlan 0, p 6, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.204.217.194 tell 10.204.217.205, length 42
 0x0000: ffff ffff ffff 5254 0013 dfeb 8100 c000
 0x0010: 0806 0001 0800 0604 0001 5254 0013 dfeb
 0x0020: 0acc d9cd 0000 0000 0000 0acc d9c2 0000
 0x0030: 0000 0000 0000 0000 0000 0000

As seen on Sender :
root@localhost:~# tcpdump -ni eth0 arp -vv and host 10.204.217.205 -xx
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:07:42.863192 ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.204.217.194 is-at 52:54:00:01:00:01, length 46
 0x0000: 5254 0013 dfeb 5254 0001 0001 0806 0001
 0x0010: 0800 0604 0002 5254 0001 0001 0acc d9c2
 0x0020: 5254 0013 dfeb 0acc d9cd 0000 0000 0000
 0x0030: 0000 0000 0000 0000 0000 0000

——————————————————————————————————————————————————————————————————

Also when unsolicited priority-tagged arp responses were sent to vrouter node, the arp was learnt by agent fine:

>>> ls(e/dot1q/arp)
dst : DestMACField = '52:54:00:13:df:eb' (None)
src : SourceMACField = '52:54:00:01:00:01' (None)
type : XShortEnumField = 33024 (0)
--
prio : BitField = 5 (0)
id : BitField = 0 (0)
vlan : BitField = 0 (1)
type : XShortEnumField = 2054 (0)
--
hwtype : XShortField = 1 (1)
ptype : XShortEnumField = 2048 (2048)
hwlen : ByteField = 6 (6)
plen : ByteField = 4 (4)
op : ShortEnumField = 2 (1)
hwsrc : ARPSourceMACField = '52:54:00:01:00:01' (None)
psrc : SourceIPField = '10.204.217.194' (None)
hwdst : MACField = '52:54:00:13:df:eb' ('00:00:00:00:00:00')
pdst : IPField = '10.204.217.205' ('0.0.0.0')
>>>

As seen on vrouter-node,(also verified that pkt gets trapped to agent and arp entry is learnt there)
root@localhost:~# tcpdump -ni eth0 -vv host 10.204.217.194 -xx -e
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:15:08.033364 52:54:00:01:00:01 > 52:54:00:13:df:eb, ethertype 802.1Q (0x8100), length 60: vlan 0, p 5, ethertype ARP, Ethernet (len 6), IPv4 (len 4), Reply 10.204.217.194 is-at 52:54:00:01:00:01, length 42
 0x0000: 5254 0013 dfeb 5254 0001 0001 8100 a000
 0x0010: 0806 0001 0800 0604 0002 5254 0001 0001
 0x0020: 0acc d9c2 5254 0013 dfeb 0acc d9cd 0000
 0x0030: 0000 0000 0000 0000 0000 0000