Hi, I was looking at various things and I found that do_xlate_actions() in ofproto.c was called way more often than I was expecting. I'm using 1.1.0.
I set the following flows : ./ovs-ofctl add-flow tcp:127.0.0.1:6634 "priority=32769,idle_timeout=0,ip,nw_dst=15.144.110.1,action=mod_nw_tos:0,output:2" ./ovs-ofctl add-flow tcp:127.0.0.1:6634 "priority=32769,idle_timeout=0,ip,nw_dst=15.144.110.2,action=output:4" I perform the following ping : <jean@charolles>ping 15.144.110.1 PING 15.144.110.1 (15.144.110.1) 56(84) bytes of data. 64 bytes from 15.144.110.1: icmp_req=1 ttl=64 time=0.446 ms 64 bytes from 15.144.110.1: icmp_req=2 ttl=64 time=0.196 ms 64 bytes from 15.144.110.1: icmp_req=3 ttl=64 time=0.198 ms 64 bytes from 15.144.110.1: icmp_req=4 ttl=64 time=0.266 ms 64 bytes from 15.144.110.1: icmp_req=5 ttl=64 time=0.166 ms 64 bytes from 15.144.110.1: icmp_req=6 ttl=64 time=0.258 ms 64 bytes from 15.144.110.1: icmp_req=7 ttl=64 time=0.216 ms 64 bytes from 15.144.110.1: icmp_req=8 ttl=64 time=0.217 ms 64 bytes from 15.144.110.1: icmp_req=9 ttl=64 time=0.219 ms 64 bytes from 15.144.110.1: icmp_req=10 ttl=64 time=0.218 ms 64 bytes from 15.144.110.1: icmp_req=11 ttl=64 time=0.265 ms 64 bytes from 15.144.110.1: icmp_req=12 ttl=64 time=0.167 ms 64 bytes from 15.144.110.1: icmp_req=13 ttl=64 time=0.270 ms 64 bytes from 15.144.110.1: icmp_req=14 ttl=64 time=0.221 ms 64 bytes from 15.144.110.1: icmp_req=15 ttl=64 time=0.221 ms 64 bytes from 15.144.110.1: icmp_req=16 ttl=64 time=0.272 ms 64 bytes from 15.144.110.1: icmp_req=17 ttl=64 time=0.268 ms 64 bytes from 15.144.110.1: icmp_req=18 ttl=64 time=0.220 ms ^C And this is how many time do_xlate_actions() is called for the ToS flows during the ping : Jun 02 11:08:15|00018|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:15|00019|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:17|00020|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:18|00021|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:19|00022|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:20|00023|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:20|00024|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:20|00025|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:21|00026|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:22|00027|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:23|00028|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:24|00029|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:25|00030|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:26|00031|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:27|00032|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:28|00033|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:29|00034|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:30|00035|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:31|00036|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:32|00037|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:33|00038|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:34|00039|ofproto|ERR|do_xlate_actions() - setting ToS Jun 02 11:08:35|00040|ofproto|ERR|do_xlate_actions() - setting ToS ^C And this is how many subflows are created : <opennet@valerian>./ovs-dpctl dump-flows dp0 in_port(3),eth(src=20:fd:f1:71:e3:91,dst=01:80:c2:00:00:00), packets:80, bytes:5120, used:1.504s, actions:drop in_port(4),eth(src=20:fd:f1:71:e3:98,dst=01:80:c2:00:00:00), packets:80, bytes:5120, used:0.504s, actions:drop in_port(2),eth(src=20:fd:f1:71:e3:99,dst=01:80:c2:00:00:00), packets:80, bytes:5120, used:1.504s, actions:drop in_port(2),eth(src=00:15:17:19:a3:cc,dst=00:07:e9:09:3c:fd),eth_type(0x0806),arp(sip=15.144.110.1,tip=15.144.110.2,op=1,sha=00:15:17:19:a3:cc,tha=00:00:00:00:00:00), packets:0, bytes:0, used:never, actions:4 in_port(1),eth(src=20:fd:f1:71:e3:90,dst=01:80:c2:00:00:00), packets:80, bytes:5120, used:0.504s, actions:drop in_port(2),eth(src=00:15:17:19:a3:cc,dst=00:07:e9:09:3c:fd),eth_type(0x0800),ipv4(src=15.144.110.1,dst=15.144.110.2,proto=1,tos=0),icmp(type=0,code=0), packets:8, bytes:784, used:0.704s, actions:4 in_port(4),eth(src=00:07:e9:09:3c:fd,dst=00:15:17:19:a3:cc),eth_type(0x0800),ipv4(src=15.144.110.2,dst=15.144.110.1,proto=1,tos=0),icmp(type=8,code=0), packets:8, bytes:784, used:0.704s, actions:set_nw_tos(0),2 in_port(4),eth(src=00:07:e9:09:3c:fd,dst=00:15:17:19:a3:cc),eth_type(0x0806),arp(sip=15.144.110.2,tip=15.144.110.1,op=2,sha=00:07:e9:09:3c:fd,tha=00:15:17:19:a3:cc), packets:0, bytes:0, used:never, actions:2 Is this normal ? Regards, Jean _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev