<div dir="ltr"><div>Hi, Sean</div><div><br></div>Thank you for your reply.<div><br></div><div>So I should assign an ip address to the br-int bridge, if I am understanding correctly.</div><div><br></div><div>Thanks,</div><div><br></div><div>John Haan.</div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2020년 9월 2일 (수) 오후 9:59, Sean Mooney <<a href="mailto:smooney@redhat.com" target="_blank">smooney@redhat.com</a>>님이 작성:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 2020-09-02 at 16:23 +0900, 한승진 wrote:<br>
> Hi,<br>
> <br>
> <br>
> I’m trying to implement dpdk-ovs with ovn for our openstack environment.<br>
> <br>
> <br>
> I create a bond interface(tunbound) with ovs and tun0 and tun1 are slave<br>
> interfaces of the bond interface named tunbond.<br>
> <br>
> <br>
>     Bridge br-int<br>
> <br>
>         fail_mode: secure<br>
> <br>
>         datapath_type: netdev<br>
> <br>
>         Port tunbond<br>
> <br>
>             Interface tun0<br>
> <br>
>                 type: dpdk<br>
> <br>
>                 options: {dpdk-devargs="0000:1a:00.1", n_rxq="2"}<br>
> <br>
>             Interface tun1<br>
> <br>
>                 type: dpdk<br>
> <br>
>                 options: {dpdk-devargs="0000:d8:00.1", n_rxq="2"}<br>
> <br>
>         Port br-int<br>
> <br>
>             Interface br-int<br>
> <br>
>                 type: internal<br>
> <br>
> Now, I need to configure remote-ovn options to the ovs.<br>
> <br>
> <br>
> *I am confused how can I define the IP address of the bonded interface with<br>
> ovs?*<br>
you dont you set the tunnel local ip on the ovs bridge containing the bond.<br>
when a inteface is managed by ovs (with the excption of the bridge port or type internal ports)<br>
asinging an ip to the interface will do nothing as ovs hooks the packets beofre they reach the ip layer of the kernel<br>
networking stack.<br>
<br>
so to make sure that the kernel routes the network packets vi the ovs bridge you need to assign the tunnel local ip to<br>
the ovs bridge with the bound. so br-int in this case<br>
<br>
this will cause that bridge to respond to arps form the tunnel local ip and that will cause the back leaning table in<br>
ovs to be populated correctly with the remote mac address for the remote tunnel endpoints via the bound.<br>
<br>
if you use ovs-appctl and look at the dataplane(not oepnflow) flows you will see that the tunnel endcap flow is followed<br>
by an out_port action instead of an output action which renques the packet as if it arrived on the port<br>
so when the packet is encaped with the geneve header it will be reporced as if it came form the bridge local port and<br>
then mac learing/the normal action woudl forward it to the bond. at least that is how it would work for ml2/ovs<br>
<br>
if we do not have the normal action for that case we would need explcit openflow rules to send the packet to the bound.<br>
<br>
if you dont have the local tunnel endpoint ip on the brige however the tunnel traffic will not be dpdk acclerated so<br>
that is important to have set correctly.<br>
> <br>
> <br>
> Theses are commands for connect remote ovn services.<br>
> <br>
> <br>
> ovs-vsctl set open . external-ids:ovn-remote=tcp:{controller ip}:6642<br>
> <br>
> ovs-vsctl set open . external-ids:ovn-encap-type=geneve<br>
> <br>
> *1*<br>
> <br>
> <br>
> This below command make it me confused.<br>
> <br>
> <br>
> ovs-vsctl set open . external-ids:ovn-encap-ip={local ip}<br>
> <br>
> <br>
> How should I resolve this issue?<br>
> <br>
> <br>
> Regards,<br>
> <br>
> <br>
> John Haan<br>
<br>
</blockquote></div></div>