[ovn][neutron][ussuri] How to configure for overlay in DPDK with OVN ?

Sean Mooney smooney at redhat.com
Wed Sep 2 12:58:55 UTC 2020


On Wed, 2020-09-02 at 16:23 +0900, 한승진 wrote:
> Hi,
> 
> 
> I’m trying to implement dpdk-ovs with ovn for our openstack environment.
> 
> 
> I create a bond interface(tunbound) with ovs and tun0 and tun1 are slave
> interfaces of the bond interface named tunbond.
> 
> 
>     Bridge br-int
> 
>         fail_mode: secure
> 
>         datapath_type: netdev
> 
>         Port tunbond
> 
>             Interface tun0
> 
>                 type: dpdk
> 
>                 options: {dpdk-devargs="0000:1a:00.1", n_rxq="2"}
> 
>             Interface tun1
> 
>                 type: dpdk
> 
>                 options: {dpdk-devargs="0000:d8:00.1", n_rxq="2"}
> 
>         Port br-int
> 
>             Interface br-int
> 
>                 type: internal
> 
> Now, I need to configure remote-ovn options to the ovs.
> 
> 
> *I am confused how can I define the IP address of the bonded interface with
> ovs?*
you dont you set the tunnel local ip on the ovs bridge containing the bond.
when a inteface is managed by ovs (with the excption of the bridge port or type internal ports)
asinging an ip to the interface will do nothing as ovs hooks the packets beofre they reach the ip layer of the kernel
networking stack.

so to make sure that the kernel routes the network packets vi the ovs bridge you need to assign the tunnel local ip to
the ovs bridge with the bound. so br-int in this case

this will cause that bridge to respond to arps form the tunnel local ip and that will cause the back leaning table in
ovs to be populated correctly with the remote mac address for the remote tunnel endpoints via the bound.

if you use ovs-appctl and look at the dataplane(not oepnflow) flows you will see that the tunnel endcap flow is followed
by an out_port action instead of an output action which renques the packet as if it arrived on the port
so when the packet is encaped with the geneve header it will be reporced as if it came form the bridge local port and
then mac learing/the normal action woudl forward it to the bond. at least that is how it would work for ml2/ovs

if we do not have the normal action for that case we would need explcit openflow rules to send the packet to the bound.

if you dont have the local tunnel endpoint ip on the brige however the tunnel traffic will not be dpdk acclerated so
that is important to have set correctly.
> 
> 
> Theses are commands for connect remote ovn services.
> 
> 
> ovs-vsctl set open . external-ids:ovn-remote=tcp:{controller ip}:6642
> 
> ovs-vsctl set open . external-ids:ovn-encap-type=geneve
> 
> *1*
> 
> 
> This below command make it me confused.
> 
> 
> ovs-vsctl set open . external-ids:ovn-encap-ip={local ip}
> 
> 
> How should I resolve this issue?
> 
> 
> Regards,
> 
> 
> John Haan




More information about the openstack-discuss mailing list