[ovs-discuss] How to create mirror packet over GRE on OVS+DPDK

Sun Paul paulrbk at gmail.com
Tue Sep 26 08:52:38 UTC 2017


Hi

I tried to create one more bridge on the host, and it seems GRE packet
can be propagated, but I am not able to capture the packet on the g1
bridge. I believed I gave issue on the command to create the tunnel,
any idea?

# ovs-vsctl show
9fe3ef4d-7f29-4a21-80ea-62a705f5d934
    Bridge "mirror0"
        Port "eth1"
            Interface "eth1"
        Port "mirror0"
            Interface "mirror0"
                type: internal
    Bridge "g1"
        Port "g1"
            Interface "g1"
                type: internal
        Port "dpdk0"
            Interface "dpdk0"
                type: dpdk
                options: {dpdk-devargs="0000:00:09.0"}



# ovs-vsctl add-port mirror0 gre0 -- set interface gre0 type=gre
options:remote_ip=192.1.2.243 -- --id=@p get port dpdk0 -- --id=@m
create mirror name=m0 select-all=true output-port=@p -- set bridge
mirror0 mirrors=@m

On Mon, Sep 25, 2017 at 3:43 PM, Guoshuai Li <ligs at dtdream.com> wrote:
> I have not tested the GRE tunnel,  I used geneve Tunnel, I think they are
> similar.
>
> I mean that the tunnel encap ip uses the ovs bridge.
>
> What is your tunnel source ip?  Your source IP should be configured on an
> ovs bridge, the physical out of this bridge uses dpdk
>
> You can refer to
> http://docs.openvswitch.org/en/latest/howto/userspace-tunneling/?highlight=tunnel
>
> On host1, add a port for the VXLAN tunnel:
>
> $ ovs-vsctl add-port br-int vxlan0 \
>   -- set interface vxlan0 type=vxlan options:remote_ip=172.168.1.2
>
> Note
>
> 172.168.1.2 is the remote tunnel end point address. On the remote host this
> will be 172.168.1.1
>
> Create a br-phy bridge:
>
> $ ovs-vsctl --may-exist add-br br-phy \
>     -- set Bridge br-phy datapath_type=netdev \
>     -- br-set-external-id br-phy bridge-id br-phy \
>     -- set bridge br-phy fail-mode=standalone \
>          other_config:hwaddr=<mac address of eth1 interface>
>
>
>  I am not sure whether the source ip using physical network with kernel will
> be a problem.
>
>
> sorry to overlook.
>
> from your configuration, you have two bridges, one is with dpdk, and
> the other is not which is on management subnet, right?
>
> can you share the GRE tunnel command for reference?
>
> On Mon, Sep 25, 2017 at 3:22 PM, Sun Paul <paulrbk at gmail.com> wrote:
>
> do you mean I need to bridge the management interface to bridge as well?
>
> On Mon, Sep 25, 2017 at 2:14 PM, Guoshuai Li <ligs at dtdream.com> wrote:
>
> You can catch packets on your management interface.
>
>
> I guess your package sent to the userspace from vm by dpdk , and then
> through the tunnel to return to the kernel.
>
> I do not know if this will be a problem.
>
>
> I suggest you can try your management interface using OVS bridge with dpdk,
> such as "g1".
>
>
> This is my configuration:
>
> 7: br-agg: <BROADCAST,PROMISC,UP,LOWER_UP> mtu 1600 qdisc pfifo_fast state
> UP qlen 1000
>     link/ether 6c:92:bf:04:f9:18 brd ff:ff:ff:ff:ff:ff
>     inet 10.157.145.213/24 brd 10.157.145.255 scope global br-agg
>        valid_lft forever preferred_lft forever
>     inet6 fe80::6e92:bfff:fe04:f918/64 scope link
>        valid_lft forever preferred_lft forever
>
> [root at gateway1 ~]# ovs-vsctl show
> b99b043b-951b-4bc7-9fd7-329d60d443a5
>     Bridge br-agg
>         Port bond-agg
>             Interface "agg-dpdk-2"
>                 type: dpdk
>                 options: {dpdk-devargs="0000:02:00.1"}
>             Interface "agg-dpdk-1"
>                 type: dpdk
>                 options: {dpdk-devargs="0000:02:00.0"}
>     Bridge br-int
>         Port "ovn-d172cc-0"
>             Interface "ovn-d172cc-0"
>                 type: geneve
>                 options: {csum="true", key=flow, remote_ip="10.157.145.212"}
>         Port br-int
>             Interface br-int
>                 type: internal
>         Port "ovn-d131e4-0"
>             Interface "ovn-d131e4-0"
>                 type: geneve
>                 options: {csum="true", key=flow, remote_ip="10.157.145.214"}
>         Port "ovn-844fcd-0"
>             Interface "ovn-844fcd-0"
>                 type: geneve
>                 options: {csum="true", key=flow, remote_ip="10.157.145.211"}
>
>
>
>
>
> Hi
>
> thank for your reply.
>
> the 192.1.2.159 is actually on the same subnet of the management
> interface, it is not part of the OVS bridge.
>
>
>
> On Mon, Sep 25, 2017 at 1:37 PM, Guoshuai Li <ligs at dtdream.com> wrote:
>
> I think you may have caught the tunnel inner package.
>
> Is the tunnel outbound from interface dpdk0? how about caught dpdk0 with
> mirror?
>
> Or use dpdk-pdump?
>
> Hi
>
> How do I configure mirroring of all traffic to a GRE tunnel on OVS+DPDK?
>
> I have a OVS+DPDK setip as below.
>
> # ovs-vsctl show
> 9fe3ef4d-7f29-4a21-80ea-62a705f5d934
>       Bridge "g1"
>           Port "g1"
>               Interface "g1"
>                   type: internal
>           Port "dpdk0"
>               Interface "dpdk0"
>                   type: dpdk
>                   options: {dpdk-devargs="0000:00:09.0"}
>
> I tried to create gre tunnel for packet mirroring
>
> #ovs-vsctl add-port g1 gre0 -- set interface gre0 type=gre
> options:remote_ip=192.1.2.159 -- --id=@p get port gre0 -- --id=@m
> create mirror name=m0 select-all=true output-port=@p -- set bridge g1
> mirrors=@m
>
> I cannot find any packet arrive on 192.1.2.159, any idea?
>
> I have tried to use the same command in an OVS setup without DPDK
> enabled, it works.
>
> please help
>
> - RBK
>
>
> On Mon, Sep 25, 2017 at 1:26 PM, Sun Paul <paulrbk at gmail.com> wrote:
>
> Hi
>
> How do I configure mirroring of all traffic to a GRE tunnel on
> OVS+DPDK?
>
>
> I have a OVS+DPDK setip as below.
>
> # ovs-vsctl show
> 9fe3ef4d-7f29-4a21-80ea-62a705f5d934
>       Bridge "g1"
>           Port "g1"
>               Interface "g1"
>                   type: internal
>           Port "dpdk0"
>               Interface "dpdk0"
>                   type: dpdk
>                   options: {dpdk-devargs="0000:00:09.0"}
>
> I tried to create gre tunnel for packet mirroring
>
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>
>


More information about the discuss mailing list