Skip to content

OpenFlow flow not reinject to datapath #329

Open
@jesson1

Description

@jesson1

Environment and version

[root@hg02-test openvswitch]# rpm -qi openvswitch
Name        : openvswitch
Version     : 2.12.4
Release     : 7.uel20
Architecture: x86_64
Install Date: Wed 15 May 2024 05:17:11 PM CST
Group       : Unspecified
Size        : 9262287
License     : ASL 2.0 and ISC
Signature   : RSA/SHA256, Fri 01 Dec 2023 10:37:15 AM CST, Key ID 9055a64e8df595ed
Source RPM  : openvswitch-2.12.4-7.uel20.src.rpm
Build Date  : Wed 22 Nov 2023 10:04:51 AM CST
Build Host  : localhost.localdomain
Packager    : UOS
Vendor      : UOS
URL         : http://www.openvswitch.org/
Summary     : Production Quality, Multilayer Open Virtual Switch
Description :
Open vSwitch is a production quality, multilayer virtual switch licensed under
the open source Apache 2.0 license.

[root@hg02-test openvswitch]# ovs-vsctl list open
_uuid               : 68749b29-2420-4515-859a-0ddba3c17013
bridges             : [d6bbe89a-9744-462c-af03-c53ae344038d, ee1a554a-bb2a-4ba6-aef0-5c32a78ab4e8]
cur_cfg             : 5128
datapath_types      : [netdev, system]
db_version          : "8.0.0"
dpdk_initialized    : false
dpdk_version        : none
external_ids        : {hostname="hg02-test", rundir="/var/run/openvswitch", system-id="5bda1fed-3f68-40ba-9d4b-722fb11d1609"}
iface_types         : [erspan, geneve, gre, internal, "ip6erspan", "ip6gre", lisp, patch, stt, system, tap, vxlan]
manager_options     : []
next_cfg            : 5128
other_config        : {max-idle="10000"}
ovs_version         : "2.12.4"
ssl                 : []
statistics          : {}
system_type         : uos
system_version      : "20"

[root@hg02-test ~]# uname -a
Linux hg02-test 4.19.90-2305.1.0.0199.67.uel20.x86_64 #1 SMP Wed Oct 11 17:16:56 CST 2023 x86_64 x86_64 x86_64 GNU/Linux

Problem symptoms

ARP packets enter the OVS bridge through the tunnel and match the flow table:
image
But the n_packets for this flow table entry remains 0, and the ARP packets are not captured on the virtual machine network interfaces corresponding to 1799 and 1800.
I can ensure that the ARP packets indeed enter through the tunnel port, as I can capture and observe them:
image
This is very strange. Upon inspecting the datapath, I discovered that the actual forwarding port is 1795, not the port expected by the OpenFlow.:
image
To verify, I captured packets on the virtual machine network interface corresponding to port 1795, and indeed, I captured the ARP packet:
image
In my observation, it seems that the OpenFlow flow table was not pushed to the datapath, and the datapath continues to use the old rules.

My Question

  • Why is the datapath in the above image not expiring? Please note the observation of 'used:148.121', indicating that there has been no traffic for at least 148 seconds. Even though I've set 'max-idle', it doesn't seem to have any effect.
    image
  • Why aren't OpenFlow flow tables being pushed to the datapath? Is it related to the kernel version? How should I troubleshoot this?

Thank you for taking the time to read and consider this issue. Your help and support are greatly appreciated!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions