sonic-net / sonic-buildimage

Scripts which perform an installable binary image build for SONiC
Other
738 stars 1.43k forks source link

vlan tagged packets egress out with priority 1 #3073

Open chitra-raghavan opened 5 years ago

chitra-raghavan commented 5 years ago

Description

packets egress out of vlan tagged port has priority set to 1 instead of 0. is this expected ?

vlan_test in ansible framework , fails as it expects default priority as 0 , but the frames are received with priority 1 from tagged ports.

Steps to reproduce the issue:

  1. run the scirpt https://github.com/Azure/sonic-mgmt/blob/master/ansible/roles/test/files/ptftests/vlan_test.py
  2. Check the packet egress out with priority 1

Describe the results you received:

packet capture :

`

root@286c34ab1525:~# ptf --test-dir ptftests vlan_test.VlanTest   --platform remote  -t "vlan_ports_list = \"[{u'pvid': u'100', u'port_index': 28, u'dev':
 u'PortChannel0001', u'permit_vlanid': {u'200': {u'remote_ip': u'200.1.1.45', u'peer_ip': u'192.168.200.45'}, u'100': {u'remote_ip': u'100.1.1.45', u'peer
_ip': u'192.168.100.45'}}}, {u'pvid': u'200', u'port_index': 30, u'dev': u'PortChannel0003', u'permit_vlanid': {u'200': {u'remote_ip': u'200.1.1.22', u'pe
er_ip': u'192.168.200.22'}, u'100': {u'remote_ip': u'100.1.1.22', u'peer_ip': u'192.168.100.22'}}}, {u'pvid': u'100', u'port_index': u'2', u'dev': u'Ether
net8', u'permit_vlanid': {u'200': {u'remote_ip': u'200.1.1.3', u'peer_ip': u'192.168.200.3'}, u'100': {u'remote_ip': u'100.1.1.3', u'peer_ip': u'192.168.1
00.3'}}}, {u'pvid': u'200', u'port_index': u'1', u'dev': u'Ethernet4', u'permit_vlanid': {u'200': {u'remote_ip': u'200.1.1.8', u'peer_ip': u'192.168.200.8
'}, u'100': {u'remote_ip': u'100.1.1.8', u'peer_ip': u'192.168.100.8'}}}]\";vlan_intf_list = \"[{u'ip': u'192.168.100.1/24', u'vlan_id': u'100'}, {u'ip':
u'192.168.200.1/24', u'vlan_id': u'200'}]\";router_mac = \"20:04:0f:36:94:49\""
WARNING: No route found for IPv6 destination :: (no default route?)
vlan_test.VlanTest ... FAIL

======================================================================
FAIL: vlan_test.VlanTest
----------------------------------------------------------------------
Traceback (most recent call last):
  File "ptftests/vlan_test.py", line 154, in runTest
    self.verify_icmp_packets(vlan_port, vlan_port["pvid"])
  File "ptftests/vlan_test.py", line 130, in verify_icmp_packets
    verify_each_packet_on_each_port(self, untagged_pkts+tagged_pkts, untagged_dst_ports+tagged_dst_ports)
  File "/usr/lib/python2.7/dist-packages/ptf/testutils.py", line 2421, in verify_each_packet_on_each_port
    % (port, device_number, result.format()))
AssertionError: Did not receive expected packets on port 30 for device 0.
========== EXPECTED ==========

dst        : DestMACField         = 'ff:ff:ff:ff:ff:ff' (None)
src        : SourceMACField       = '00:22:00:00:00:02' (None)
type       : XShortEnumField      = 33024           (0)
--
prio       : BitField             = 0               (0)  <<<<<<<<<
id         : BitField             = 0               (0)
vlan       : BitField             = 100             (1)
type       : XShortEnumField      = 2048            (0)
--
version    : BitField             = 4               (4)
ihl        : BitField             = None            (None)
tos        : XByteField           = 0               (0)
len        : ShortField           = None            (None)
id         : ShortField           = 1               (1)
flags      : FlagsField           = 0               (0)
frag       : BitField             = 0               (0)
ttl        : ByteField            = 64              (64)
proto      : ByteEnumField        = 1               (0)
chksum     : XShortField          = None            (None)
src        : Emph                 = '192.168.0.1'   (None)
dst        : Emph                 = '192.168.0.2'   ('127.0.0.1')
options    : PacketListField      = []              ([])
--
type       : ByteEnumField        = 8               (8)
code       : MultiEnumField       = 0               (0)
chksum     : XShortField          = None            (None)
id         : ConditionalField     = 0               (0)
seq        : ConditionalField     = 0               (0)
ts_ori     : ConditionalField     = 45670620        (45670620)
ts_rx      : ConditionalField     = 45670620        (45670620)
ts_tx      : ConditionalField     = 45670620        (45670620)
gw         : ConditionalField     = '0.0.0.0'       ('0.0.0.0')
ptr        : ConditionalField     = 0               (0)
reserved   : ConditionalField     = 0               (0)
addr_mask  : ConditionalField     = '0.0.0.0'       ('0.0.0.0')
unused     : ConditionalField     = 0               (0)
--
load       : StrField             = ''              ('')
--
load       : StrField             = '0000000000000000000000000000000000000000000000000000000000' ('')
--
0000   FF FF FF FF FF FF 00 22  00 00 00 02 81 00 00 64   .......".......d
0010   08 00 45 00 00 56 00 01  00 00 40 01 F9 52 C0 A8   ..E..V....@..R..
0020   00 01 C0 A8 00 02 08 00  82 8A 00 00 00 00 30 30   ..............00
0030   30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0040   30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0050   30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0060   30 30 30 30 30 30 30 30                            00000000
========== RECEIVED ==========
========== RECEIVED ==========
2 total packets. Displaying most recent 2 packets:
------------------------------
dst        : DestMACField         = 'ff:ff:ff:ff:ff:ff' (None)
src        : SourceMACField       = '00:22:00:00:00:02' (None)
type       : XShortEnumField      = 33024           (0)
--
prio       : BitField             = 1L              (0)   <<<<<<<<<<<<
id         : BitField             = 0L              (0)
vlan       : BitField             = 100L            (1)
type       : XShortEnumField      = 2048            (0)
--
version    : BitField             = 4L              (4)
ihl        : BitField             = 5L              (None)
tos        : XByteField           = 0               (0)
len        : ShortField           = 86              (None)
id         : ShortField           = 1               (1)
flags      : FlagsField           = 0L              (0)
frag       : BitField             = 0L              (0)
ttl        : ByteField            = 64              (64)
proto      : ByteEnumField        = 1               (0)
chksum     : XShortField          = 63826           (None)
src        : Emph                 = '192.168.0.1'   (None)
dst        : Emph                 = '192.168.0.2'   ('127.0.0.1')
options    : PacketListField      = []              ([])
--
type       : ByteEnumField        = 8               (8)
code       : MultiEnumField       = 0               (0)
chksum     : XShortField          = 33418           (None)
id         : ConditionalField     = 0               (0)
seq        : ConditionalField     = 0               (0)
ts_ori     : ConditionalField     = None            (45670620)
ts_rx      : ConditionalField     = None            (45670620)
ts_tx      : ConditionalField     = None            (45670620)
gw         : ConditionalField     = None            ('0.0.0.0')
ptr        : ConditionalField     = None            (0)
reserved   : ConditionalField     = None            (0)
addr_mask  : ConditionalField     = None            ('0.0.0.0')
unused     : ConditionalField     = None            (0)
--
load       : StrField             = '0000000000000000000000000000000000000000000000000000000000' ('')
--
0000   FF FF FF FF FF FF 00 22  00 00 00 02 81 00 20 64   ......."...... d
0010   08 00 45 00 00 56 00 01  00 00 40 01 F9 52 C0 A8   ..E..V....@..R..
0020   00 01 C0 A8 00 02 08 00  82 8A 00 00 00 00 30 30   ..............00
0030   30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0040   30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0050   30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30   0000000000000000
0060   30 30 30 30 30 30 30 30                            00000000
------------------------------
`

Describe the results you expected: the script vlan_test.py expects the vlan_pcp as 0

Additional information you deem important (e.g. issue happens only occasionally):

Output of show version:

root@sonic-z9264f-9251:~# show ver
SONiC Software Version: SONiC.HEAD.9-d67c6d4b
Distribution: Debian 9.9
Kernel: 4.9.0-8-2-amd64
Build commit: d67c6d4b
Build date: Mon Jun 17 11:39:12 UTC 2019
Built by: johnar@jenkins-worker-7
Platform: x86_64-dellemc_z9264f_c3538-r0
HwSKU: DellEMC-Z9264f-Q64
ASIC: broadcom
Serial Number: CN030K8MDND0091M0007
Uptime: 17:01:52 up  2:59,  2 users,  load average: 0.32, 0.29, 0.44    
rlhui commented 4 years ago

@prsunny will check/revisit.