[ovs-discuss] Re:[HELP] Question about userspace geneve/vxlan port

txfh2007 txfh2007 at aliyun.com
Thu Jul 4 09:27:28 UTC 2019

Hi all:
    I have found theoritically during the upcall process, task tnl_port_receive could be called(via upcall_cb() -> upcall_receive() -> xlate_lookup() ->xport_lookup). But in my env, after tracing code by gdb,  I have found the task "tnl_port_should_receive(flow)" always returns "false" for flow->tunnel->ip_dst is "0", even if the pkt received by dpdk port has a tunnel header.  
     I guess the reason is in userspace task "handle_packet_upcall", the match.tun_md.valid has been set "false", so the expanded flow has no tunnel info, and also in task "miniflow_extract" in flow.c, the packet->md is null as in dfc_processing task the "md_is_valid" flag is always "false". Am I right ?

Please correct me if I was wrong. Many Thanks


ovs-discuss <ovs-discuss at openvswitch.org>
Topic:[HELP] Question about userspace geneve/vxlan port

Hi all:
    I have a question about userspace geneve type port. In my test env, the ovs-appctl dpif/show command will show geneve type port in dp. but from ovs-appctl dpif-netdev/pmd-rxq-show command I can only find vhu and dpdk type port. So the pmd thread can't handle pkt rx from geneve or vxlan type port ? 
    Thanks for your reply, the ovs-appctl commands results is as below:

#  ovs-appctl dpif/-show
netdev at ovs-netdev: hit:5196535 missed:13532
    br-int 65534/6: (tap)
    ovn-096621-0 2/10: (geneve: csum=true, key=flow, remote_ip=
    ovn-e1c6a3-0 1/10: (geneve: csum=true, key=flow, remote_ip=
    vhu1d1d6de9-49 18/3: (dpdkvhostuser: configured_rx_queues=1, configured_tx_queues=1, mtu=1422, requested_rx_queues=1, requested_tx_queues=1)
    br-provider 65534/1: (tap)
    dpdk0 1/2: (dpdk: configured_rx_queues=1, configured_rxq_descriptors=2048, configured_tx_queues=5, configured_txq_descriptors=2048, lsc_interrupt_mode=false, mtu=1500, requested_rx_queues=1, requested_rxq_descriptors=2048, requested_tx_queues=5, requested_txq_descriptors=2048, rx_csum_offload=true)

#  ovs-appctl dpif-netdev/pmd-rxq-show
pmd thread numa_id 0 core_id 2:
  isolated : false
  port: vhu1d1d6de9-49    queue-id:  0  pmd usage:  0 %
pmd thread numa_id 1 core_id 10:
  isolated : false
pmd thread numa_id 0 core_id 18:
  isolated : false
pmd thread numa_id 1 core_id 26:
  port: dpdk0             queue-id:  0  pmd usage:  0 %
  isolated : false

More information about the discuss mailing list