[ovs-discuss] OVN Logical Router Port ARP response

Hui Xiang xianghuir at gmail.com
Tue Nov 14 03:26:35 UTC 2017


Hi folks,

I am a bit confused of the OVN logical router port arp flow process if
arping it from external side.

When I am tracing the logical router port arp, it always seems there would
be no response from the flow procedure, however, I do can get the arp
response and reach it.
My trace inport is the localnet port on the provider bridge, and it always
go to next and then hit ls_in_l2_lkup table and match MC_unknown then
dropped.

I wonder who send this arp response? or my inport is wrong in the trace if
arp from outside? Thanks very much for any helpful info!


[root at node-1 ~]# ovn-trace --detail 9ac587cd-becc-4584-99c9-24282f8707e2
'inport == "provnet-668bf1b8-cfec-44d1-b659-30a42c83e29f" && arp.sha ==
96:95:d8:7d:b9:4c && arp.tpa == 172.16.0.130  && arp.op == 1'
#
arp,reg14=0x1,vlan_tci=0x0000,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,arp_spa=0.0.0.0,arp_tpa=172.16.0.130,arp_op=1,arp_sha=96:95:d8:7d:b9:4c,arp_tha=00:00:00:00:00:00

ingress(dp="public", inport="provnet-668bf1")
---------------------------------------------
 0. ls_in_port_sec_l2 (ovn-northd.c:3556): inport == "provnet-668bf1",
priority 50, uuid 25b99b9a
    next;
10. ls_in_arp_rsp (ovn-northd.c:3588): inport == "provnet-668bf1", priority
100, uuid b3607f68
    next;
15. ls_in_l2_lkup (ovn-northd.c:3975): 1, priority 0, uuid 83de4750
    outport = "_MC_unknown";
    output;

multicast(dp="public", mcgroup="_MC_unknown")
---------------------------------------------

egress(dp="public", inport="provnet-668bf1", outport="provnet-668bf1")
----------------------------------------------------------------------
    /* omitting output because inport == outport && !flags.loopback */




Logical Router Port:
_uuid               : 6d67d962-38a5-4a29-86b5-067dc26f78d4
enabled             : []
external_ids        : {}
gateway_chassis     : []
mac                 : "fa:16:3e:2e:ea:e9"
name                : "lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24"
networks            : ["172.16.0.130/16"]
options             :
{redirect-chassis="88596f9f-e326-4e15-ae91-8cc014e7be86"}
peer                : []


The logical flow:
  table=10(ls_in_arp_rsp      ), priority=100  , match=(arp.tpa ==
172.16.0.130 && arp.op == 1 && inport ==
"640d0475-ff83-47b7-8a4d-9ea0e770fb24"), action=(next;)
  table=10(ls_in_arp_rsp      ), priority=100  , match=(inport ==
"provnet-668bf1b8-cfec-44d1-b659-30a42c83e29f"), action=(next;)
  table=10(ls_in_arp_rsp      ), priority=50   , match=(arp.tpa ==
172.16.0.130 && arp.op == 1), action=(eth.dst = eth.src; eth.src =
fa:16:3e:2e:ea:e9; arp.op = 2; /* ARP reply */ arp.tha = arp.sha; arp.sha =
fa:16:3e:2e:ea:e9; arp.tpa = arp.spa; arp.spa = 172.16.0.130; outport =
inport; flags.loopback = 1; output;)
  ....
  table=15(ls_in_l2_lkup      ), priority=100  , match=(eth.mcast),
action=(outport = "_MC_flood"; output;)
  table=15(ls_in_l2_lkup      ), priority=50   , match=(eth.dst ==
fa:16:3e:2e:ea:e9 &&
is_chassis_resident("cr-lrp-640d0475-ff83-47b7-8a4d-9ea0e770fb24")),
action=(outport = "640d0475-ff83-4
7b7-8a4d-9ea0e770fb24"; output;)
  table=15(ls_in_l2_lkup      ), priority=0    , match=(1), action=(outport
= "_MC_unknown"; output;)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20171114/c62ecdd8/attachment.html>


More information about the discuss mailing list