All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 891] bnxt PMD: multicast filtering fails
@ 2021-11-26 12:52 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2021-11-26 12:52 UTC (permalink / raw)
  To: dev

https://bugs.dpdk.org/show_bug.cgi?id=891

            Bug ID: 891
           Summary: bnxt PMD: multicast filtering fails
           Product: DPDK
           Version: 20.11
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: siwar.zitouni@6wind.com
  Target Milestone: ---

On Broadcom bnxt PF, multicast packets reception is successful only if the
multicast mac address of the packets is the first one in the multicast address
list of the port.

test: using Testpmd and DPDK version: 20.11.3

*** Test configuration ***
1/ Bind the device to the kernel modules vfio-pci 
./dpdk-devbind.py -b vfio-pci 0000:08:00.1
./dpdk-devbind.py -b vfio-pci 0000:08:00.0


2/Launch the app testpmd with the following arguments:
./dpdk-testpmd --log-level=pmd.net.bnxt.driver:8 -l 1,2 -a 0000:08:00.0 -a
 0000:08:00.1 -- -i --rxq=1 --txq=1 --coremask=0x04 --total-num-mbufs=250000

testpmd> set fwd rxonly
testpmd> set verbose 1
testpmd> start
testpmd> set promisc all off
testpmd> set allmulti all off

*** Test steps ***

1/ step 1:   
** check multicast address list of the ports
testpmd> show port 1 mcast_macs                                      
Number of Multicast MAC address added: 0
testpmd> show port 0 mcast_macs                                      
Number of Multicast MAC address added: 0

** Configure multicast address:
testpmd> mcast_addr add 1 33:33:00:10:00:01                          
testpmd> show port 1 mcast_macs                                      
Number of Multicast MAC address added: 1
  33:33:00:10:00:01

** From a second machine: send the following packet using scapy:
scapy file:
p = Ether(dst='33:33:00:10:00:01', src='ec:0d:9a:37:d1:7b')/IPv6(nh=59,
src='fd00:200::2', dst='ff05::10:10:2')/Raw(load=b'kqi1Br')
sendp(p, iface='ntfp2', count=5, inter=0.5)

** Result:
testpmd> port 1/queue 0: received 1 packets
  src=EC:0D:9A:37:D1:7B - dst=33:33:00:10:00:01 - type=0x86dd - lengt
h=60 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN  - sw ptype
: L2_ETHER L3_IPV6  - l2_len=14 - l3_len=40 - Receive queue=0x0      
  ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER
_L4_CKSUM_UNKNOWN                                                    
port 1/queue 0: received 1 packets                                   
  src=EC:0D:9A:37:D1:7B - dst=33:33:00:10:00:01 - type=0x86dd - lengt
h=60 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN  - sw ptype
: L2_ETHER L3_IPV6  - l2_len=14 - l3_len=40 - Receive queue=0x0      
  ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER
_L4_CKSUM_UNKNOWN  

==> All packets are received on the main machine: Test is successful 

PS: ec:0d:9a:37:d1:7 : mac address of the second machine port ntfp2

2/ step 2 : Add more multicast addresses to port 1 (maintain 33:33:00:10:00:01
in the first position of the list) and send the same packets again:

testpmd> show port 1 mcast_macs                                      
Number of Multicast MAC address added: 5
  33:33:00:10:00:01
  33:33:00:10:00:02
  33:33:00:10:00:03
  33:33:00:10:00:04
  33:33:00:10:00:05

** Result:
testpmd> port 1/queue 0: received 1 packets
  src=EC:0D:9A:37:D1:7B - dst=33:33:00:10:00:01 - type=0x86dd - lengt
h=60 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN  - sw ptype
: L2_ETHER L3_IPV6  - l2_len=14 - l3_len=40 - Receive queue=0x0      
  ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER
_L4_CKSUM_UNKNOWN      

==> All packets are received on the main machine: Test is successful 


3/ step 3: Change the order of multicast addresses & resend the same packets

testpmd> mcast_addr remove 1 33:33:00:10:00:01                       
testpmd> show port 1 mcast_macs                                      
Number of Multicast MAC address added: 4
  33:33:00:10:00:02
  33:33:00:10:00:03
  33:33:00:10:00:04
  33:33:00:10:00:05
testpmd> mcast_addr add 1 33:33:00:10:00:01                          
testpmd> show port 1 mcast_macs                                      
Number of Multicast MAC address added: 5
  33:33:00:10:00:02
  33:33:00:10:00:03
  33:33:00:10:00:04
  33:33:00:10:00:05
  33:33:00:10:00:01

** Result:
testpmd>                                                             

==> No packet is received: Test fails.

FYI:
The same test was applied using dpdk version 21.11
git link: https://github.com/DPDK/dpdk
branch: main
commit: 779279afa579570f4e62b708895fa52de1bee471
latest tag : v21.11-rc4

=> the test shows the same results

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-26 12:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-26 12:52 [Bug 891] bnxt PMD: multicast filtering fails bugzilla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.