[ovs-discuss] [External] : Re: tracing ovs flows in br-int

Brendan Doyle brendan.doyle at oracle.com
Tue Jan 19 12:59:04 UTC 2021


Thanks

On 19/01/2021 11:33, Dumitru Ceara wrote:
> On 1/18/21 11:21 PM, Brendan Doyle wrote:
>>
>> I found some stuff about using ovs-appctl ofproto/trace here
>> (https://urldefense.com/v3/__https://docs.ovn.org/_/downloads/en/stable/pdf/__;!!GqivPVa7Brio!K_ea45xxqM72FQWuUf4U0F0FM5P1lGPDpQS9EoJUhU9jATt5MX9qWkGm8c5MA0SZY-E$ 
>> ) and followed the
>> instructions, but no joy just get an error thrown back at me. Is there a
>> place where the flows are documented with examples how to trace
>> a flow across a tunnel from a VM on one chassis to one on an other?
>> When I followed the instructions in the doc, watch ovs-dpctl dump-flows
>> gave me these flows:
>>
>> recirc_id(0),in_port(3),ct_state(-new-est-rel-rpl-inv-trk),ct_label(0/0x1),eth(s 
>>
>> rc=40:44:00:00:04:10,dst=40:44:00:00:03:10),eth_type(0x0800),ipv4(src=169.254.12 
>>
>> 8.0/255.255.192.0,dst=192.16.1.6,proto=1,tos=0/0x3,ttl=64,frag=no),icmp(type=0), 
>>
>>   packets:0, bytes:0, used:never, 
>> actions:set(eth(src=40:44:00:00:03:40,dst=40:44
>> :00:00:01:90)),set(ipv4(ttl=63)),userspace(pid=3351604022,controller(reason=1,do 
>>
>> nt_send=0,continuation=0,recirc_id=87,rule_cookie=0x877e4709,controller_id=0,max 
>>
>> _len=65535)),set(eth(src=40:44:00:00:01:90,dst=40:44:00:00:00:50)),set(ipv4(ttl= 
>>
>> 62)),userspace(pid=3351604022,controller(reason=1,dont_send=0,continuation=0,rec 
>>
>> irc_id=88,rule_cookie=0xa2d28cdf,controller_id=0,max_len=65535)),set(tunnel(tun_ 
>>
>> id=0x392,dst=253.255.2.6,ttl=64,tp_dst=6081,geneve({class=0x102,type=0x80,len=4, 
>>
>> 0x50001}),flags(df|csum|key))),set(eth(src=40:44:00:00:00:30,dst=52:54:00:be:06: 
>>
>> 16)),set(ipv4(ttl=61)),1
>> recirc_id(0),tunnel(tun_id=0x392,src=253.255.2.6,dst=253.255.0.35,geneve({class= 
>>
>> 0x102,type=0x80,len=4,0x10007/0x7fffffff}),flags(-df+csum+key)),in_port(1),ct_st 
>>
>> ate(-new-est-rel-rpl-inv-trk),ct_label(0/0x1),eth(src=52:54:00:be:06:16,dst=00:0 
>>
>> 0:00:00:00:00/01:00:00:00:00:00),eth_type(0x0800),ipv4(proto=1,frag=no),icmp(typ 
>>
>> e=8/0xf8), packets:0, bytes:0, used:never, actions:3
>>
>> So as per instruction I entered this into ovs-appctl:
>>
>> ovs-appctl ofproto/trace 
>> 'recirc_id(0),tunnel(tun_id=0x392,src=253.255.2.6,dst=253.255.0.35,geneve({class=0x102,type=0x80,len=4,0x10007/0x7fffffff}),flags(-df+csum+key)),in_port(1),ct_state(-new-est-rel-rpl-inv-trk),ct_label(0/0x1),eth(src=52:54:00:be:06:16,dst=00:00:00:00:00:00/01:00:00:00:00:00),eth_type(0x0800),ipv4(proto=1,frag=no),icmp(type=8/0xf8)' 
>>
>> tunnel options missing TTL; the flow key in error is: 
>> recirc_id(0),tunnel(tun_id=0x392,src=253.255.2.6,dst=253.255.0.35,geneve({class=0x102,type=0x80,len=4,0x10007}),flags(csum|key)),in_port(1),ct_state(0),ct_label(0),eth(src=52:54:00:be:06:16,dst=00:00:00:00:00:00),eth_type(0x0800),ipv4(src=0.0.0.0,dst=0.0.0.0,proto=1,tos=0,ttl=0,frag=no),icmp(type=8,code=0) 
>>
>> ovs-appctl: ovs-vswitchd: server returned an error
>
> Hi Brendan,
>
> Explicitly adding ttl=1 to the odp flow string should make it work. 
> Something like:
>
> ovs-appctl ofproto/trace 
> 'recirc_id(0),tunnel(ttl=1,tun_id=0x392,src=253.255.2.6,dst=253.255.0.35,geneve({class=0x102,type=0x80,len=4,0x10007/0x7fffffff}),flags(-df+csum+key)),in_port(1),ct_state(-new-est-rel-rpl-inv-trk),ct_label(0/0x1),eth(src=52:54:00:be:06:16,dst=00:00:00:00:00:00/01:00:00:00:00:00),eth_type(0x0800),ipv4(proto=1,frag=no),icmp(type=8/0xf8)'
>
> I guess the default is TTL=1 and format_odp_tun_attr() doesn't print 
> it in that case.
>
> Regards,
> Dumitru
>



More information about the discuss mailing list