Re: [ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-21 Thread Darrell Ball
Correction inline:

s/committed/commented


On 9/21/17, 9:16 PM, "Darrell Ball"  wrote:

Hi Guoshuai

I commented on the Version 2 patch format and requested Ben to take a look.

Thanks Darrell

On 9/21/17, 7:55 PM, "Guoshuai Li"  wrote:

I send a patch to change  DEPTH 6, It is Ok for my cases.


https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DSeptember_339034.html=DwIDaQ=uilaK90D4TOVoH58JNXRgQ=BVhFA09CGX7JQ5Ih-uZnsw=Am8f35FAI35QVJ1jdH2neTSqxFLmZqCeNiLutjdSe94=7NIxt2Mb7JtWyp5oVSZljx7Namf2Ei-moD39ShR-7Dg=
 


It will warning log for 7 recirc,  "dpif_netdev(pmd36)|WARN|Packet 
dropped. Max recirculation depth exceeded."


on 2017/9/20 23:57, Darrell Ball write:
>
> On 9/20/17, 4:45 AM, "Guoshuai Li"  wrote:
>
>  yes, Distributed gateway.
>  I config my gateway router port with 'redirect-chassis'option in 
ovn-nb.
>  
>  Logical_Router_Port table
>  _uuidenabled external_ids 
gateway_chassis mac name   
networks options
peer
>   ---  
--- --- -- 
 
--
 
>  85c04f4e-6109-4049-b651-3a1495a7901c []  {}   [] 
 "fa:16:3e:5d:65:b2" "lrp-8712a984-c019-4362-befe-8969e5fd0f11" 
["192.168.2.254/24"] {} 
[]
>  93324dc3-6863-4831-b990-86645f4b234b []  {}   [] 
 "fa:16:3e:9f:10:13" "lrp-107688b6-07e5-4a5b-9fa7-a1b25f56b6de" 
["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
>  32de97cf-1de6-4b92-b8dc-05c95b920587 []  {}   [] 
 "fa:16:3e:d4:cb:56" "lrp-6c2f6700-cc1e-44c6-ada7-da2889aa9278" 
["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
>  55824043-c7d9-40f7-8530-0872efc47edc []  {}   [] 
 "fa:16:3e:e4:ec:cd" "lrp-e84181ad-fa35-4b34-81e8-1e44218fc504" 
["192.168.0.254/24"] {} 
[]
>  
>  
>  My kernel datapath flows, less than DPDK:
>  
recirc_id(0),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.637s, actions:ct(zone=10,nat),recirc(0x24)
>  
recirc_id(0x24),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x25)
>  
recirc_id(0x25),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth(src=00:00:00:00:00:00/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.0/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:21, bytes:2058, used:0.638s, actions:ct(zone=3,nat),recirc(0x26)
>  
recirc_id(0x26),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x27)
>  
recirc_id(0x27),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),in_port(2),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:20, bytes:1960, used:0.638s, 
actions:set(tunnel(tun_id=0x1,dst=10.157.145.212,ttl=64,tp_src=37366,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x10002}),flags(df|csum|key))),set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),2
>
> [Darrell]
> The difference is the native tunneling, so it seems to make sense.
> Does #define MAX_RECIRC_DEPTH 6 work in all cases that you checked ?
> Maybe setting to 7 leaves a margin of error and can also can alert if 
there is a bug or inefficiency ?
>

Re: [ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-21 Thread Darrell Ball
Hi Guoshuai

I committed on the Version 2 patch format and requested Ben to take a look.

Thanks Darrell

On 9/21/17, 7:55 PM, "Guoshuai Li"  wrote:

I send a patch to change  DEPTH 6, It is Ok for my cases.


https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_pipermail_ovs-2Ddev_2017-2DSeptember_339034.html=DwIDaQ=uilaK90D4TOVoH58JNXRgQ=BVhFA09CGX7JQ5Ih-uZnsw=Am8f35FAI35QVJ1jdH2neTSqxFLmZqCeNiLutjdSe94=7NIxt2Mb7JtWyp5oVSZljx7Namf2Ei-moD39ShR-7Dg=
 


It will warning log for 7 recirc,  "dpif_netdev(pmd36)|WARN|Packet 
dropped. Max recirculation depth exceeded."


on 2017/9/20 23:57, Darrell Ball write:
>
> On 9/20/17, 4:45 AM, "Guoshuai Li"  wrote:
>
>  yes, Distributed gateway.
>  I config my gateway router port with 'redirect-chassis'option in 
ovn-nb.
>  
>  Logical_Router_Port table
>  _uuidenabled external_ids 
gateway_chassis mac name   
networks options
peer
>   ---  
--- --- -- 
 
--
 
>  85c04f4e-6109-4049-b651-3a1495a7901c []  {}   [] 
 "fa:16:3e:5d:65:b2" "lrp-8712a984-c019-4362-befe-8969e5fd0f11" 
["192.168.2.254/24"] {} 
[]
>  93324dc3-6863-4831-b990-86645f4b234b []  {}   [] 
 "fa:16:3e:9f:10:13" "lrp-107688b6-07e5-4a5b-9fa7-a1b25f56b6de" 
["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
>  32de97cf-1de6-4b92-b8dc-05c95b920587 []  {}   [] 
 "fa:16:3e:d4:cb:56" "lrp-6c2f6700-cc1e-44c6-ada7-da2889aa9278" 
["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
>  55824043-c7d9-40f7-8530-0872efc47edc []  {}   [] 
 "fa:16:3e:e4:ec:cd" "lrp-e84181ad-fa35-4b34-81e8-1e44218fc504" 
["192.168.0.254/24"] {} 
[]
>  
>  
>  My kernel datapath flows, less than DPDK:
>  
recirc_id(0),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.637s, actions:ct(zone=10,nat),recirc(0x24)
>  
recirc_id(0x24),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x25)
>  
recirc_id(0x25),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth(src=00:00:00:00:00:00/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.0/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:21, bytes:2058, used:0.638s, actions:ct(zone=3,nat),recirc(0x26)
>  
recirc_id(0x26),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x27)
>  
recirc_id(0x27),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),in_port(2),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:20, bytes:1960, used:0.638s, 
actions:set(tunnel(tun_id=0x1,dst=10.157.145.212,ttl=64,tp_src=37366,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x10002}),flags(df|csum|key))),set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),2
>
> [Darrell]
> The difference is the native tunneling, so it seems to make sense.
> Does #define MAX_RECIRC_DEPTH 6 work in all cases that you checked ?
> Maybe setting to 7 leaves a margin of error and can also can alert if 
there is a bug or inefficiency ?
>
>
>
>



___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-21 Thread Guoshuai Li

I send a patch to change  DEPTH 6, It is Ok for my cases.

https://mail.openvswitch.org/pipermail/ovs-dev/2017-September/339034.html


It will warning log for 7 recirc,  "dpif_netdev(pmd36)|WARN|Packet 
dropped. Max recirculation depth exceeded."



on 2017/9/20 23:57, Darrell Ball write:


On 9/20/17, 4:45 AM, "Guoshuai Li"  wrote:

 yes, Distributed gateway.
 I config my gateway router port with 'redirect-chassis'option in ovn-nb.
 
 Logical_Router_Port table

 _uuidenabled external_ids gateway_chassis 
mac name   networks 
options 
   peer
  ---  --- 
--- -- 
 
--
 
 85c04f4e-6109-4049-b651-3a1495a7901c []  {}   []  "fa:16:3e:5d:65:b2" 
"lrp-8712a984-c019-4362-befe-8969e5fd0f11" ["192.168.2.254/24"] {}
 []
 93324dc3-6863-4831-b990-86645f4b234b []  {}   []  "fa:16:3e:9f:10:13" 
"lrp-107688b6-07e5-4a5b-9fa7-a1b25f56b6de" ["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
 32de97cf-1de6-4b92-b8dc-05c95b920587 []  {}   []  "fa:16:3e:d4:cb:56" 
"lrp-6c2f6700-cc1e-44c6-ada7-da2889aa9278" ["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
 55824043-c7d9-40f7-8530-0872efc47edc []  {}   []  "fa:16:3e:e4:ec:cd" 
"lrp-e84181ad-fa35-4b34-81e8-1e44218fc504" ["192.168.0.254/24"] {}
 []
 
 
 My kernel datapath flows, less than DPDK:

 
recirc_id(0),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.637s, actions:ct(zone=10,nat),recirc(0x24)
 
recirc_id(0x24),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x25)
 
recirc_id(0x25),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth(src=00:00:00:00:00:00/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.0/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:21, bytes:2058, used:0.638s, actions:ct(zone=3,nat),recirc(0x26)
 
recirc_id(0x26),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x27)
 
recirc_id(0x27),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),in_port(2),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:20, bytes:1960, used:0.638s, 
actions:set(tunnel(tun_id=0x1,dst=10.157.145.212,ttl=64,tp_src=37366,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x10002}),flags(df|csum|key))),set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),2

[Darrell]
The difference is the native tunneling, so it seems to make sense.
Does #define MAX_RECIRC_DEPTH 6 work in all cases that you checked ?
Maybe setting to 7 leaves a margin of error and can also can alert if there is 
a bug or inefficiency ?






___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-20 Thread Darrell Ball


On 9/20/17, 4:45 AM, "Guoshuai Li"  wrote:

yes, Distributed gateway.
I config my gateway router port with 'redirect-chassis'option in ovn-nb.

Logical_Router_Port table
_uuidenabled external_ids gateway_chassis 
mac name   networks 
options 
   peer
 ---  --- 
--- -- 
 
--
 
85c04f4e-6109-4049-b651-3a1495a7901c []  {}   []  
"fa:16:3e:5d:65:b2" "lrp-8712a984-c019-4362-befe-8969e5fd0f11" 
["192.168.2.254/24"] {} 
[]
93324dc3-6863-4831-b990-86645f4b234b []  {}   []  
"fa:16:3e:9f:10:13" "lrp-107688b6-07e5-4a5b-9fa7-a1b25f56b6de" 
["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
32de97cf-1de6-4b92-b8dc-05c95b920587 []  {}   []  
"fa:16:3e:d4:cb:56" "lrp-6c2f6700-cc1e-44c6-ada7-da2889aa9278" 
["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
55824043-c7d9-40f7-8530-0872efc47edc []  {}   []  
"fa:16:3e:e4:ec:cd" "lrp-e84181ad-fa35-4b34-81e8-1e44218fc504" 
["192.168.0.254/24"] {} 
[]


My kernel datapath flows, less than DPDK:

recirc_id(0),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.637s, actions:ct(zone=10,nat),recirc(0x24)

recirc_id(0x24),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x25)

recirc_id(0x25),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth(src=00:00:00:00:00:00/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.0/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:21, bytes:2058, used:0.638s, actions:ct(zone=3,nat),recirc(0x26)

recirc_id(0x26),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x27)

recirc_id(0x27),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),in_port(2),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:20, bytes:1960, used:0.638s, 
actions:set(tunnel(tun_id=0x1,dst=10.157.145.212,ttl=64,tp_src=37366,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x10002}),flags(df|csum|key))),set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),2

[Darrell]
The difference is the native tunneling, so it seems to make sense.
Does #define MAX_RECIRC_DEPTH 6 work in all cases that you checked ?
Maybe setting to 7 leaves a margin of error and can also can alert if there is 
a bug or inefficiency ?


在 2017/9/20 9:23, Darrell Ball :
> Distributed gateway ?
> What do the kernel datapath flows look like ?
>
>
> On 9/18/17, 11:29 PM, "ovs-dev-boun...@openvswitch.org on behalf of 
Guoshuai Li"  
wrote:
>
>  In an ovn gateway node with DPDK, the RECIRC_DEPTH may be greater 
than 5.
>  
>  Scenes:
>  VM ping self floating IP, or
>  VM ping Floating IP of VMs with the same network.
>  
>  It need process UNDNAT SNAT in LRouter egress and
>  UNSNAT DNAT in LRouter ingress, and
>  output to geneve tunnel also need recirc.
>  
>  This has an WARN:
>  dpif_netdev(pmd36)|WARN|Packet dropped. Max recirculation depth 
exceeded.
>  ---
>   lib/dpif-netdev.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>  
>  diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
>  index ca74df8c7..2ad8c3143 100644
>  --- a/lib/dpif-netdev.c
>  +++ b/lib/dpif-netdev.c
>  @@ -82,7 +82,7 @@ 

Re: [ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-20 Thread Guoshuai Li

yes, Distributed gateway.
I config my gateway router port with 'redirect-chassis'option in ovn-nb.

Logical_Router_Port table
_uuidenabled external_ids gateway_chassis mac   
  name   networks 
options 
   peer
 ---  --- 
--- -- 
 
--
 
85c04f4e-6109-4049-b651-3a1495a7901c []  {}   []  "fa:16:3e:5d:65:b2" 
"lrp-8712a984-c019-4362-befe-8969e5fd0f11" ["192.168.2.254/24"] {}
 []
93324dc3-6863-4831-b990-86645f4b234b []  {}   []  "fa:16:3e:9f:10:13" 
"lrp-107688b6-07e5-4a5b-9fa7-a1b25f56b6de" ["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
32de97cf-1de6-4b92-b8dc-05c95b920587 []  {}   []  "fa:16:3e:d4:cb:56" 
"lrp-6c2f6700-cc1e-44c6-ada7-da2889aa9278" ["10.157.13.0/24"]   {physical-network="physnet2", 
redirect-chassis="f0e5148b-b6a8-46a1-9561-de76c22245bd"} []
55824043-c7d9-40f7-8530-0872efc47edc []  {}   []  "fa:16:3e:e4:ec:cd" 
"lrp-e84181ad-fa35-4b34-81e8-1e44218fc504" ["192.168.0.254/24"] {}
 []


My kernel datapath flows, less than DPDK:
recirc_id(0),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.637s, actions:ct(zone=10,nat),recirc(0x24)
recirc_id(0x24),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x25)
recirc_id(0x25),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth(src=00:00:00:00:00:00/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.0/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:21, bytes:2058, used:0.638s, actions:ct(zone=3,nat),recirc(0x26)
recirc_id(0x26),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({}{}),flags(-df+csum+key)),in_port(2),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:21, bytes:2058, used:0.638s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x27)
recirc_id(0x27),tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.12.111,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),in_port(2),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:20, bytes:1960, used:0.638s, 
actions:set(tunnel(tun_id=0x1,dst=10.157.145.212,ttl=64,tp_src=37366,tp_dst=6081,geneve({class=0x102,type=0x80,len=4,0x10002}),flags(df|csum|key))),set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),2


在 2017/9/20 9:23, Darrell Ball :

Distributed gateway ?
What do the kernel datapath flows look like ?


On 9/18/17, 11:29 PM, "ovs-dev-boun...@openvswitch.org on behalf of Guoshuai Li" 
 wrote:

 In an ovn gateway node with DPDK, the RECIRC_DEPTH may be greater than 5.
 
 Scenes:

 VM ping self floating IP, or
 VM ping Floating IP of VMs with the same network.
 
 It need process UNDNAT SNAT in LRouter egress and

 UNSNAT DNAT in LRouter ingress, and
 output to geneve tunnel also need recirc.
 
 This has an WARN:

 dpif_netdev(pmd36)|WARN|Packet dropped. Max recirculation depth exceeded.
 ---
  lib/dpif-netdev.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c

 index ca74df8c7..2ad8c3143 100644
 --- a/lib/dpif-netdev.c
 +++ b/lib/dpif-netdev.c
 @@ -82,7 +82,7 @@ VLOG_DEFINE_THIS_MODULE(dpif_netdev);
  
  #define FLOW_DUMP_MAX_BATCH 50

  /* Use per thread recirc_depth to prevent recirculation loop. */
 -#define MAX_RECIRC_DEPTH 5
 +#define MAX_RECIRC_DEPTH 10

I guess the MAX_RECIRC_DEPTH should be as small as possible for valid use cases 
– 6 ?
The check is ‘less than’.

  DEFINE_STATIC_PER_THREAD_DATA(uint32_t, recirc_depth, 0)
  
  /* Configuration parameters. */

 --
 
 This is my flows by ovs-appctl dpctl/dump-flows:

 

Re: [ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-19 Thread Darrell Ball
Distributed gateway ?
What do the kernel datapath flows look like ?


On 9/18/17, 11:29 PM, "ovs-dev-boun...@openvswitch.org on behalf of Guoshuai 
Li"  wrote:

In an ovn gateway node with DPDK, the RECIRC_DEPTH may be greater than 5.

Scenes:
VM ping self floating IP, or
VM ping Floating IP of VMs with the same network.

It need process UNDNAT SNAT in LRouter egress and
UNSNAT DNAT in LRouter ingress, and
output to geneve tunnel also need recirc.

This has an WARN:
dpif_netdev(pmd36)|WARN|Packet dropped. Max recirculation depth exceeded.
---
 lib/dpif-netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index ca74df8c7..2ad8c3143 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -82,7 +82,7 @@ VLOG_DEFINE_THIS_MODULE(dpif_netdev);
 
 #define FLOW_DUMP_MAX_BATCH 50
 /* Use per thread recirc_depth to prevent recirculation loop. */
-#define MAX_RECIRC_DEPTH 5
+#define MAX_RECIRC_DEPTH 10

I guess the MAX_RECIRC_DEPTH should be as small as possible for valid use cases 
– 6 ?
The check is ‘less than’.

 DEFINE_STATIC_PER_THREAD_DATA(uint32_t, recirc_depth, 0)
 
 /* Configuration parameters. */
-- 

This is my flows by ovs-appctl dpctl/dump-flows:

tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:3, bytes:294, used:0.242s, actions:ct(zone=10,nat),recirc(0x10)

tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({}),flags(-df+csum+key)),recirc_id(0x10),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:3, bytes:294, used:0.242s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x11)

tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({}),flags(-df+csum+key)),recirc_id(0x11),in_port(7),packet_type(ns=0,id=0),eth(src=fa:16:3e:d4:cb:56/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.4/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:3, bytes:294, used:0.242s, actions:ct(zone=3,nat),recirc(0x12)

tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({}),flags(-df+csum+key)),recirc_id(0x12),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:3, bytes:294, used:0.242s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x13)

tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),recirc_id(0x13),in_port(7),packet_type(ns=0,id=0),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:2, bytes:196, used:0.241s, 
actions:set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),clone(tnl_push(tnl_port(7),header(size=58,type=5,eth(dst=6c:92:bf:13:be:0a,src=6c:92:bf:04:4c:b2,dl_type=0x0800),ipv4(src=10.157.145.214,dst=10.157.145.212,proto=17,tos=0,ttl=64,frag=0x4000),udp(src=0,dst=6081,csum=0x),geneve(crit,vni=0x1,options({class=0x102,type=0x80,len=4,0x10002}))),out_port(4)),push_vlan(vid=2515,pcp=0),hash(hash_l4(0)),recirc(0x1))

recirc_id(0x1),dp_hash(0x79f1a62d/0xff),in_port(4),packet_type(ns=0,id=0),eth_type(0x8100),vlan(vid=2515,pcp=0),encap(eth_type(0x0800),ipv4(frag=no)),
 packets:2, bytes:320, used:0.242s, actions:5


2.13.2.windows.1

___
dev mailing list
d...@openvswitch.org

https://urldefense.proofpoint.com/v2/url?u=https-3A__mail.openvswitch.org_mailman_listinfo_ovs-2Ddev=DwICAg=uilaK90D4TOVoH58JNXRgQ=BVhFA09CGX7JQ5Ih-uZnsw=1O8U7S-DkEKfm_1rUi8wJWAG6DdtrvTUn3WqjRZ44jg=y3uThLIiu-kTEYgJZtkU7dfmyJ1BmhfSP0xFgYuBawo=
 






___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH] dpif-netdev: Set MAX_RECIRC_DEPTH to 10.

2017-09-19 Thread Guoshuai Li
In an ovn gateway node with DPDK, the RECIRC_DEPTH may be greater than 5.

Scenes:
VM ping self floating IP, or
VM ping Floating IP of VMs with the same network.

It need process UNDNAT SNAT in LRouter egress and
UNSNAT DNAT in LRouter ingress, and
output to geneve tunnel also need recirc.

This has an WARN:
dpif_netdev(pmd36)|WARN|Packet dropped. Max recirculation depth exceeded.
---
 lib/dpif-netdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index ca74df8c7..2ad8c3143 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -82,7 +82,7 @@ VLOG_DEFINE_THIS_MODULE(dpif_netdev);
 
 #define FLOW_DUMP_MAX_BATCH 50
 /* Use per thread recirc_depth to prevent recirculation loop. */
-#define MAX_RECIRC_DEPTH 5
+#define MAX_RECIRC_DEPTH 10
 DEFINE_STATIC_PER_THREAD_DATA(uint32_t, recirc_depth, 0)
 
 /* Configuration parameters. */
-- 

This is my flows by ovs-appctl dpctl/dump-flows:
tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({class=0x102,type=0x80,len=4,0x30005/0x7fff}),flags(-df+csum+key)),recirc_id(0),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:3, bytes:294, used:0.242s, actions:ct(zone=10,nat),recirc(0x10)
tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({}),flags(-df+csum+key)),recirc_id(0x10),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(src=192.168.0.6,frag=no),
 packets:3, bytes:294, used:0.242s, 
actions:ct(commit,zone=3,nat(src=10.157.13.4)),recirc(0x11)
tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({}),flags(-df+csum+key)),recirc_id(0x11),in_port(7),packet_type(ns=0,id=0),eth(src=fa:16:3e:d4:cb:56/01:00:00:00:00:00,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(src=10.157.13.4/255.255.255.128,dst=10.157.13.7,proto=1,ttl=63,frag=no),
 packets:3, bytes:294, used:0.242s, actions:ct(zone=3,nat),recirc(0x12)
tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({}),flags(-df+csum+key)),recirc_id(0x12),in_port(7),packet_type(ns=0,id=0),eth_type(0x0800),ipv4(dst=10.157.13.7,frag=no),
 packets:3, bytes:294, used:0.242s, 
actions:ct(commit,zone=10,nat(dst=192.168.0.10)),recirc(0x13)
tunnel(tun_id=0x2,src=10.157.145.211,dst=10.157.145.214,geneve({class=0x102,type=0x80,len=4,0x30005}),flags(-df+csum+key)),ct_state(-new+est-rel-rpl-inv+trk),ct_label(0/0x1),recirc_id(0x13),in_port(7),packet_type(ns=0,id=0),eth(src=fa:16:3e:d4:cb:56,dst=fa:16:3e:d4:cb:56),eth_type(0x0800),ipv4(dst=192.168.0.10,tos=0/0x3,ttl=63,frag=no),
 packets:2, bytes:196, used:0.241s, 
actions:set(eth(src=fa:16:3e:e4:ec:cd,dst=fa:16:3e:ed:4b:8a)),set(ipv4(dst=192.168.0.10,tos=0/0x3,ttl=62)),clone(tnl_push(tnl_port(7),header(size=58,type=5,eth(dst=6c:92:bf:13:be:0a,src=6c:92:bf:04:4c:b2,dl_type=0x0800),ipv4(src=10.157.145.214,dst=10.157.145.212,proto=17,tos=0,ttl=64,frag=0x4000),udp(src=0,dst=6081,csum=0x),geneve(crit,vni=0x1,options({class=0x102,type=0x80,len=4,0x10002}))),out_port(4)),push_vlan(vid=2515,pcp=0),hash(hash_l4(0)),recirc(0x1))
recirc_id(0x1),dp_hash(0x79f1a62d/0xff),in_port(4),packet_type(ns=0,id=0),eth_type(0x8100),vlan(vid=2515,pcp=0),encap(eth_type(0x0800),ipv4(frag=no)),
 packets:2, bytes:320, used:0.242s, actions:5


2.13.2.windows.1

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev