On 5/21/25 1:57 PM, Thenveer Poolakkanni wrote:
> 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.

I don't think the issue is in OVS in this case.  You need to look into the
DPDK driver that you're using or firmware / hardware / external network.

The last thing that you should be able to check from the OVS side is packet
counters from the card.  Check the:
  ovs-vsctl get interface pf1 statistics
And look for errors or dropped/missed packets.

Best regards, Ilya Maximets.

> 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