Hi Ilya,
Thank you for your response.
I have created flow rules in both directions and removed the NORMAL rule as 
advised. However, I'm still facing the same issue .Also  packets are only 
received on one port (pf0). When sending traffic from both pktgen ports 
simultaneously, only the traffic towards pf0 is received, while nothing is 
received on pf1.
Here’s the current flow setup:

 cookie=0x0, duration=535.650s, table=0, n_packets=0, n_bytes=0, in_port=pf1 
actions=output:pf0
 cookie=0x0, duration=533.028s, table=0, n_packets=1905, n_bytes=123065, 
in_port=pf0 actions=output:pf1


Port statistics:

  port  pf0: rx pkts=1905, tx pkts=0
  port  pf1: rx pkts=0,    tx pkts=1905


It appears that traffic transmitted from pf1 is not being received at all .
Please let me know if there's anything further I should check . I’ve also 
confirmed that both interfaces are correctly added to the bridge and are bound 
with DPDK.
Best regards,
Thenveer

________________________________
From: Ilya Maximets <i.maxim...@ovn.org>
Sent: Wednesday, May 21, 2025 2:38 PM
To: Thenveer Poolakkanni <thenveer.poolakka...@iwave-global.com>; 
ovs-discuss@openvswitch.org <ovs-discuss@openvswitch.org>
Cc: i.maxim...@ovn.org <i.maxim...@ovn.org>; Ayshathul Thuhara 
<ayshathul.thuh...@iwave-global.com>
Subject: Re: [ovs-discuss] Packet Drop Issue in DPDK-OVS Bridge on Alveo U200

On 5/21/25 7:32 AM, Thenveer Poolakkanni wrote:
> Hi Ilya,
> Thank you for the insights.
> As suggested, I created a flow rule with |in_port=pf0 actions=output:pf1|
> to avoid using the default |NORMAL| action. I also checked the link status
> of the bridge port. It was initially down, so I brought it up, but its
> state then changed to |UNKNOWN|.
> Despite these changes, I'm still not receiving packets back. Here are some
> logs for reference:
> :ovs-netdev: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc 
> fq_codel state UNKNOWN group default qlen 1000
>     link/ether 62:d6:ea:54:b9:1e brd ff:ff:ff:ff:ff:ff
> : br0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel 
> state UNKNOWN group default qlen 1000
>     link/ether 3a:30:0e:d7:af:4a brd ff:ff:ff:ff:ff:ff
>
> OpenFlow flow dump:
>
> cookie=0x0, duration=350.705s, table=0, n_packets=3188, n_bytes=209110, 
> in_port=pf0 actions=output:pf1
> cookie=0x0, duration=402.852s, table=0, n_packets=23, n_bytes=2616, 
> priority=0 actions=NORMAL

You only created a rule in one direction.  You need a separate
rule for traffic coming back from pf1 to pf0.  And you need to
either delete the NORMAL rule, or use higher priority for your
direct ones, otherwise the behavior is undefined.

Best regards, Ilya Maximets.

>
> It seems the packets are not returning even with the explicit flow rule.
> Is there anything else I should try on the OVS side?
> Best regards,
> Thenveer
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Ilya Maximets <i.maxim...@ovn.org>
> *Sent:* Wednesday, May 14, 2025 4:18 PM
> *To:* Thenveer Poolakkanni <thenveer.poolakka...@iwave-global.com>; 
> ovs-discuss@openvswitch.org <ovs-discuss@openvswitch.org>
> *Cc:* Ayshathul Thuhara <ayshathul.thuh...@iwave-global.com>; 
> i.maxim...@ovn.org <i.maxim...@ovn.org>
> *Subject:* Re: [ovs-discuss] Packet Drop Issue in DPDK-OVS Bridge on Alveo 
> U200
>
> On 5/9/25 6:19 AM, Thenveer Poolakkanni via discuss wrote:
>> Hi Team,
>>
>> I’m currently working with Open vSwitch (OVS) using the DPDK datapath
>> on a Alveo U200, and I’ve encountered an issue where packets are not
>> being received back on the traffic generator after being transmitted
>> by OVS.
>>
>> Setup Details:
>>
>> - Traffic Generator:
>>     - Port 0 → Connected to Alveo U200 pf0
>>     - Port 1 → Connected to Alveo U200 pf1
>> - OVS is running on the Alveo U200 (datapath_type=netdev), and both
>> `pf0` and `pf1` are added as DPDK ports to a bridge named `br0`.
>>
>> OVS Configuration:
>> d76b4ea2-df9e-4d2e-8f9d-06210013ffef
>>     Bridge br0
>>         datapath_type: netdev
>>         Port br0
>>             Interface br0
>>                 type: internal
>>         Port pf0
>>             Interface pf0
>>                 type: dpdk
>>                 options: {dpdk-devargs="0000:08:00.0", n_rxq="4", 
>> n_rxq_desc="1024", n_txq="4", n_txq_desc="1024"}
>>         Port pf1
>>             Interface pf1
>>                 type: dpdk
>>                 options: {dpdk-devargs="0000:08:00.1", n_rxq="4", 
>> n_rxq_desc="1024", n_txq="4", n_txq_desc="1024"}
>>
>> After sending packets from the traffic generator to `pf0`, here are the 
>> stats:
>>
>> OFPST_PORT reply (xid=0x2): 3 ports
>>   port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
>>            tx pkts=0, bytes=0, drop=100, errs=0, coll=0
>>   port  pf0: rx pkts=100, bytes=6000, drop=0, errs=0, frame=?, over=?, crc=?
>>            tx pkts=0, bytes=0, drop=0, errs=0, coll=?
>>   port  pf1: rx pkts=0, bytes=0, drop=0, errs=0, frame=?, over=?, crc=?
>>            tx pkts=100, bytes=6000, drop=0, errs=0, coll=?
>>
>>
>>  Why are packets being dropped at the `LOCAL` port, and is that affecting 
>> forwarding?
>
> You're likely sending traffic only in one direction, so the bridge
> can't learn where the destination is and broadcasts these packets
> to every port on the bridge.  The bridge port is probably down, so
> packets sent to it a dropped.  Broadcasting to kernel interfaces
> will significantly affect performance, but your packets should still
> arrive just fine on the other port.  So, if you don't see them,
> the problem is likely with the driver or a card or otherwise outside
> of OVS.
>
> To avoid brodcasting you either need to send some traffic in the
> opposite direction or stop using the default NORMAL action in your
> OpenFlow configuration.  A rule like in_port=pf0,actions:pf1 would
> just forward everything directly without learning and broadcasting.
>
> Best regards, Ilya Maximets.

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to