Hi Ilya, Just a quick follow-up, I added debug logs on the driver side and confirmed that packets are being received and sent correctly. But in OVS, only the first port added to the bridge shows received packets. The second port doesn’t receive anything. Could you please suggest what else I should check in OVS? Thanks, Thenveer
________________________________ From: Thenveer Poolakkanni <thenveer.poolakka...@iwave-global.com> Sent: Tuesday, May 27, 2025 12:48 PM To: Ilya Maximets <i.maxim...@ovn.org>; ovs-discuss@openvswitch.org <ovs-discuss@openvswitch.org> Cc: Ayshathul Thuhara <ayshathul.thuh...@iwave-global.com> Subject: Re: [ovs-discuss] Packet Drop Issue in DPDK-OVS Bridge on Alveo U200 Hi Ilya, Thanks for the input. I have enabled additional debug in driver side, I am able to receive and send the packets from driver. Could you suggest what else I should check on the OVS side? Why the packet sent from driver is not listed in OVS statistics ? Best regards, Thenveer ________________________________ From: Ilya Maximets <i.maxim...@ovn.org> Sent: Wednesday, May 21, 2025 6:30 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 2:32 PM, Thenveer Poolakkanni wrote: > Hi Ilya, > Thanks for your input. > When I check the statistics using: > > |ovs-vsctl get interface pf1 statistics | > > I do see |tx| packets being counted. > Additionally, I tested interfaces using DPDK sample applications (|l2fwd| and > |l3fwd|), and in those cases, packets are being received and forwarded > correctly — including getting the return traffic back at the traffic > generator. > Please let me know if there are additional checks you would recommend . If it works with l2fwd and doesn't work with OVS, then you need to look at the driver and find the difference between how OVS sets it up and how the same is done by l2fwd. You may enable debug logging for your driver via dpdk-extra config. But essentially, it sounds like a driver problem. You'll need to ask maintainers of this driver. Best regards, Ilya Maximets. > Best regards, > Thenveer > > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > *From:* Ilya Maximets <i.maxim...@ovn.org> > *Sent:* Wednesday, May 21, 2025 5:36 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 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