OVS 3.1 Mirror shows no statistics when mirroring DPDK ports

Hi all,

I’m trying to create a mirror in OVS 3.1.0057. I have a bridge br-inside with two DPDK ports (p1 and pf1hpf) and I want to mirror the traffic to a normal port en3f0pf0sf0 on another bridge br-mirrorI.

I created the mirror like this:

ovs-vsctl -- --id=@p1 get port p1 -- --id=@p2 get port pf1hpf -- --id=@m create mirror name=m1 select_dst_port=@p1 select_src_port=@p1,@p2 output-port=@p2 -- set bridge br-mirrorI mirrors=@m

The mirror was created successfully:

_uuid               : fd21f823-9d68-44ed-a5d1-821ddd7115ee
external_ids        : {}
name                : m1
output_port         : 03ba8c56-5d8d-49b6-8cb6-1279270a8112
output_vlan         : []
select_all          : false
select_dst_port     : [4072c5a7-22d1-40db-94fe-b0d2d613730f]
select_src_port     : [03ba8c56-5d8d-49b6-8cb6-1279270a8112, 4072c5a7-22d1-40db-94fe-b0d2d613730f]
select_vlan         : []
snaplen             : []
statistics          : {}

The problem is that the mirror shows no statistics and doesn’t seem to capture any traffic.

Here’s the current bridge setup:

ce8fd330-19c2-48f1-a70d-b16c7fcb1851
    Bridge br-mirrorI
        datapath_type: netdev
        Port en3f0pf0sf0
            Interface en3f0pf0sf0
                type: dpdk
        Port br-mirrorI
            Interface br-mirrorI
                type: internal
        Port enp3s0f0s0
            Interface enp3s0f0s0
    Bridge br-inside
        datapath_type: netdev
        Port pf1hpf
            Interface pf1hpf
                type: dpdk
        Port p1
            Interface p1
                type: dpdk
        Port br-inside
            Interface br-inside
                type: internal
    Bridge br-outside
        datapath_type: netdev
        Port br-outside
            Interface br-outside
                type: internal
    ovs_version: "3.1.0057"


cookie=0x0, duration=647.280s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL

doca@ovs-doca: hit:21177 missed:4801
  br-inside:
    br-inside 65534/1: (tap)
    p1 1/2: (doca: dpdk-devargs=0000:03:00.1,dv_xmeta_en=4,dv_flow_en=2,reuse_tag=1,fdb_def_rule_en=0,repr_matching_en=0,vport_match=1, dpdk-lsc-interrupt=false, n_rxq=1, n_rxq_desc=2048, n_txq_desc=2048)
    pf1hpf 2/3: (doca: dpdk-devargs=0000:03:00.1,dv_xmeta_en=4,dv_flow_en=2,reuse_tag=1,fdb_def_rule_en=0,repr_matching_en=0,vport_match=1,representor=pf1vf65535, dpdk-lsc-interrupt=false, dpdk-vf-mac=fe:09:5c:bd:47:63, n_rxq=1, n_rxq_desc=2048, n_txq_desc=2048)
  offloaded flows: 19
  offloaded packets: 98.42% (735745/747543)
  offloaded bytes: 99.74% (664308386/666011783)
  br-mirrorI:
    br-mirrorI 65534/5: (tap)
    en3f0pf0sf0 1/6: (doca: dpdk-devargs=0000:03:00.0,dv_xmeta_en=4,dv_flow_en=2,reuse_tag=1,fdb_def_rule_en=0,repr_matching_en=0,vport_match=1,representor=pf0sf0, dpdk-lsc-interrupt=false, dpdk-vf-mac=00:00:00:00:00:00, n_rxq=1, n_rxq_desc=0, n_txq_desc=0)
    enp3s0f0s0 2/7: (system)
  offloaded flows: 19
  offloaded packets: 0.00% (0/0)
  offloaded bytes: 0.00% (0/0)
  br-outside:
    br-outside 65534/4: (tap)
  offloaded flows: 19
  offloaded packets: 0.00% (0/0)
  offloaded bytes: 0.00% (0/0)
root@localhost:/home/ubuntu# 

It looks like the mirror is created, but nothing is being mirrored. Any ideas on what might be wrong or how to get it working?

Thanks!

fixed

I use this format:

ovs-vsctl – --id=@p1 get port [dst-port] \

-- --id=@p2 get port [src-port] \

-- --id=@m create mirror name=[mirror-name] select-dst-port=@p2 select-src-port=@p2 output-port=@p1 \

-- set bridge [bridge-source] mirrors=@m
root@localhost:/home/ubuntu# ovs-vsctl list mirror

_uuid               : 827b2d06-ea63-4548-8f23-d185c764d671

external_ids        : {}

name                : mirror_inside

output_port         : bdef92ab-6f62-4dae-938a-2c0959fd49ac

output_vlan         : 


select_all          : false

select_dst_port     : [b8a4a023-97b3-4471-8c49-3944699de8ac]

select_src_port     : [b8a4a023-97b3-4471-8c49-3944699de8ac]

select_vlan         : 


snaplen             : 


statistics          : {tx_bytes=12455873, tx_packets=11618}

_uuid               : 354afabf-d368-4a27-9393-c6e10ed201fc

external_ids        : {}

name                : mirror_outside

output_port         : f1b102e2-c863-4d99-b1c7-a4f89ff2421d

output_vlan         : 


select_all          : false

select_dst_port     : [e54fbe64-3587-4df8-b034-df66e1999e0a]

select_src_port     : [e54fbe64-3587-4df8-b034-df66e1999e0a]

select_vlan         : 


snaplen             : 


statistics          : {tx_bytes=246681, tx_packets=3818}

5235780d-9582-46d1-8789-6437a4afcda4
Bridge br-inside

    datapath_type: netdev

    Port br-inside

        Interface br-inside

            type: internal

    Port pf1hpf

        Interface pf1hpf

            type: dpdk

    Port p1

        Interface p1

            type: dpdk

    Port en3f0pf0sf2

        Interface en3f0pf0sf2

            type: dpdk

Bridge br-outside

    datapath_type: netdev

    Port pf0hpf

        Interface pf0hpf

            type: dpdk

    Port br-outside

        Interface br-outside

            type: internal

    Port p0

        Interface p0

            type: dpdk

    Port en3f0pf0sf1

        Interface en3f0pf0sf1

            type: dpdk

ovs_version: "3.1.0057"