Hi Ben, Thanks for the response. I have provided the flows dump here.
Host MAC Addr: 90:1b:0e:06:0e:c4 VM1 MAC Addr: 52:54:00:3e:2c:cf When the flows are set as below, no QoS takes place. Bandwidth achieved is ~880mbps. transl-ofctl part-flows test ovs-ofctl add-flow test priority=2000,in_port=2,actions=set_queue:1,normal ovs-ofctl add-flow test priority=2000,in_port=3,actions=set_queue:2,normal transl-ofctl add-flow test priority = 10 actions = normal *Before iperf test:* [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0),in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00: 00:5e:00:01:01),eth_type(0x0800),ipv4(frag=no), packets:2, bytes:160, used:2.706s, actions:1 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.91,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.90,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=90:1b:0e:06:0e:c4),eth_type(0x0800),ipv4(frag=no), packets:3, bytes:640, used:2.733s, actions:2 *During iperf test:* [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0) *,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=52:54:00:3e:2c:cf),*eth_type(0x0800),ipv4(frag=no), *packets:12516, *bytes:846036, used:0.000s, flags:SP., actions:3 recirc_id(0),*in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00:00:5e:00:01:01)* ,eth_type(0x0800),ipv4(frag=no),* packets:5413,* bytes:232047658, used:0.001s, flags:SP., actions:1 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.235,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),skb_priority(0) *,in_port(3),eth(src=52:54:00:3e:2c:cf,dst=90:1b:0e:06:0e:c4)* ,eth_type(0x0800),ipv4(frag=no), *packets:5412, *bytes:232048096, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),2 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.220,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.91,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.103,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.90,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=90:1b:0e:06:0e:c4),eth_type(0x0800),ipv4(frag=no), packets:12520, bytes:847246, used:0.000s, flags:SP., actions:2 [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0) *,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=52:54:00:3e:2c:cf)*,eth_type(0x0800),ipv4(frag=no), *packets:38918, *bytes:2611380, used:0.001s, flags:SP., actions:3 recirc_id(0)*,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00:00:5e:00:01:01)* ,eth_type(0x0800),ipv4(frag=no),* packets:12524, *bytes:534365224, used:0.001s, flags:SP., actions:1 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.235,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),skb_priority(0) *,in_port(3),eth(src=52:54:00:3e:2c:cf,dst=90:1b:0e:06:0e:c4)* ,eth_type(0x0800),ipv4(frag=no),* packets:12521,* bytes:534365726, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),2 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.220,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.91,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.103,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.90,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=90:1b:0e:06:0e:c4),eth_type(0x0800),ipv4(frag=no), packets:38924, bytes:2612954, used:0.001s, flags:SP., actions:2 [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0) *,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=52:54:00:3e:2c:cf)*,eth_type( 0x0800),ipv4(frag=no),* packets:66352,* bytes:4448220, used:0.000s, flags:SP., actions:3 recirc_id(0),in_port(1),eth( src=e4:8d:8c:80:f6:e8,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(frag=no), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0 *),in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00:00:5e:00:01:01)*,eth_type(0x0800),ipv4(frag=no), *packets:20097*, bytes:852018438, used:0.000s, flags:SP., actions:1 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.235,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),skb_priority(0) *,in_port(3),eth(src=52:54:00:3e:2c:cf,dst=90:1b:0e:06:0e:c4* ),eth_type(0x0800),ipv4(frag=no),* packets:20094,* bytes:852019288, used:0.000s, flags:SP., actions:set(skb_priority(0x10002)),2 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.220,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.91,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=e4:8d:8c:80:f6:f8,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(frag=no), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.103,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=ff:ff:ff:ff:ff:ff),eth_type( 0x0806),arp(sip=134.60.30.2,tip=134.60.30.90,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth( src=00:15:2c:fa:bb:80,dst=90:1b:0e:06:0e:c4),eth_type(0x0800),ipv4(frag=no), packets:66358, bytes:4450142, used:0.000s, flags:SP., actions:2 [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=7.843s, table=0, n_packets=0, n_bytes=0, idle_age=7, priority=2000,in_port=2 actions=set_queue:1,NORMAL cookie=0x0, duration=7.836s, table=0, n_packets=0, n_bytes=0, idle_age=7, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=7.023s, table=0, n_packets=31, n_bytes=4008, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=16.051s, table=0, n_packets=*3715*, n_bytes=151814970, idle_age=0, priority=2000,in_port=2 actions=set_queue:1,NORMAL cookie=0x0, duration=16.044s, table=0, n_packets=0, n_bytes=0, idle_age=16, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=15.231s, table=0, n_packets=24061, n_bytes=153187485, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=20.299s, table=0, n_packets=*14404*, n_bytes=597840796, idle_age=0, priority=2000,in_port=2 actions=set_queue:1,NORMAL cookie=0x0, duration=20.292s, table=0, n_packets=0, n_bytes=0, idle_age=20, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=19.479s, table=0, n_packets=111539, n_bytes=604354050, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=25.731s, table=0, n_packets=*26611*, n_bytes=1108547451, idle_age=1, priority=2000,in_port=2 actions=set_queue:1,NORMAL cookie=0x0, duration=25.724s, table=0, n_packets=0, n_bytes=0, idle_age=25, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=24.911s, table=0, n_packets=212177, n_bytes=1120981238, idle_age=0, priority=10 actions=NORMAL On the other hand, when the flows are set as below, QoS takes place. Bandwidth achieved is ~100mbps. transl-ofctl part-flows test ovs-ofctl add-flow test priority=2000,ip,nw_dst=134.60.64.159, actions=set_queue:1,normal ovs-ofctl add-flow test priority=2000,in_port=3,actions=set_queue:2,normal transl-ofctl add-flow test priority = 10 actions = normal *Before iperf test:* [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0),in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00: 00:5e:00:01:01),eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no), packets:1, bytes:66, used:4.083s, flags:., actions:1 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=90: 1b:0e:06:0e:c4),eth_type(0x0800),ipv4(dst=0.0.2.0/0.0.2.0,frag=no), packets:2, bytes:132, used:4.075s, flags:., actions:2 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.205,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00: 00:5e:00:01:01),eth_type(0x0800),ipv4(dst=16.0.0.0/16.0.0.0,frag=no), packets:0, bytes:0, used:never, actions:1 *During iperf test:* [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0)*,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=52:54:00:3e:2c:cf)* ,eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no),* packets:2446*, bytes:161448, used:0.001s, flags:SP., actions:3 recirc_id(0),*in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00:00:5e:00:01:01)* ,eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no), packets:4, bytes:303, used:0.286s, flags:., actions:1 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=90: 1b:0e:06:0e:c4),eth_type(0x0800),ipv4(dst=0.0.2.0/0.0.2.0,frag=no), packets:2452, bytes:162297, used:0.001s, flags:SP., actions:2 recirc_id(0),skb_priority(0),in_port(2),eth(src=90:1b:0e: 06:0e:c4,dst=00:00:5e:00:01:01),eth_type(0x0800),ipv4(dst=134.60.64.159,frag=no), packets:901, bytes:15558938, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),1 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.205,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),skb_priority(0 *),in_port(3),eth(src=52:54:00:3e:2c:cf,dst=90:1b:0e:06:0e:c4)* ,eth_type(0x0800),ipv4(dst=134.60.64.159,frag=no),* packets:901*, bytes:15558938, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),2 [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0)*,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=52:54:00:3e:2c:cf* ),eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no), *packets:15410*, bytes:1017072, used:0.001s, flags:SP., actions:3 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.110,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0)*,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00:00:5e:00:01:01)* ,eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no), packets:5, bytes:369, used:1.674s, flags:., actions:1 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=90: 1b:0e:06:0e:c4),eth_type(0x0800),ipv4(dst=0.0.2.0/0.0.2.0,frag=no), packets:15417, bytes:1018335, used:0.001s, flags:SP., actions:2 recirc_id(0),skb_priority(0),in_port(2),eth(src=90:1b:0e: 06:0e:c4,dst=00:00:5e:00:01:01),eth_type(0x0800),ipv4(dst=134.60.64.159,frag=no), packets:3071, bytes:52529518, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),1 recirc_id(0),in_port(1),eth(src=b8:27:eb:68:c2:59,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(dst=1.0.0.0/1.0.0.0,frag=no), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.22,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.205,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),skb_priority(0) *,in_port(3),eth(src=52:54:00:3e:2c:cf,dst=90:1b:0e:06:0e:c4* ),eth_type(0x0800),ipv4(dst=134.60.64.159,frag=no), *packets:3071, *bytes:52529518, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),2 [Root @ omi-student15 openvswitch] # transl-dpctl dump flows recirc_id(0)*,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=52:54:00:3e:2c:cf)* ,eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no),* packets:27243*, bytes:1798050, used:0.001s, flags:SP., actions:3 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.85,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.110,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0)*,in_port(2),eth(src=90:1b:0e:06:0e:c4,dst=00:00:5e:00:01:01* ),eth_type(0x0800),ipv4(dst=0.0.0.0/2.0.0.0,frag=no), packets:5, bytes:369, used:4.346s, flags:., actions:1 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=90: 1b:0e:06:0e:c4),eth_type(0x0800),ipv4(dst=0.0.2.0/0.0.2.0,frag=no), packets:27250, bytes:1799545, used:0.001s, flags:SP., actions:2 recirc_id(0),skb_priority(0),in_port(2),eth(src=90:1b:0e: 06:0e:c4,dst=00:00:5e:00:01:01),eth_type(0x0800),ipv4(dst=134.60.64.159,frag=no), packets:5010, bytes:84491860, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),1 recirc_id(0),in_port(1),eth(src=e4:8d:8c:80:f6:e8,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(dst=1.0.0.0/1.0.0.0,frag=no), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth(src=b8:27:eb:68:c2:59,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(dst=1.0.0.0/1.0.0.0,frag=no), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth(src=00:15:2c:fa:bb:80,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=134.60.30.2,tip=134.60.30.22,op=1/0xff), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),in_port(1),eth(src=e4:8d:8c:80:f6:f8,dst=ff: ff:ff:ff:ff:ff),eth_type(0x0800),ipv4(dst=1.0.0.0/1.0.0.0,frag=no), packets:0, bytes:0, used:never, actions:2,3,4 recirc_id(0),skb_priority(0) *,in_port(3),eth(src=52:54:00:3e:2c:cf,dst=90:1b:0e:06:0e:c4)* ,eth_type(0x0800),ipv4(dst=134.60.64.159,frag=no),* packets:5010, *bytes:84491860, used:0.001s, flags:SP., actions:set(skb_priority(0x10002)),2 [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=11.616s, table=0, n_packets=0, n_bytes=0, idle_age=11, priority=2000,ip,nw_dst=134.60.64.159 actions=set_queue:1,NORMAL cookie=0x0, duration=11.610s, table=0, n_packets=1, n_bytes=54, idle_age=10, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=10.719s, table=0, n_packets=47, n_bytes=4268, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=17.785s, table=0, n_packets=*963*, n_bytes=16722494, idle_age=0, priority=2000,ip,nw_dst=134.60.64.159 actions=set_queue:1,NORMAL cookie=0x0, duration=17.779s, table=0, n_packets=1, n_bytes=54, idle_age=17, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=16.888s, table=0, n_packets=2426, n_bytes=181662, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=21.928s, table=0, n_packets=*7389*, n_bytes=126798322, idle_age=0, priority=2000,ip,nw_dst=134.60.64.159 actions=set_queue:1,NORMAL cookie=0x0, duration=21.922s, table=0, n_packets=1, n_bytes=54, idle_age=21, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=21.031s, table=0, n_packets=39495, n_bytes=2630733, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-ofctl dump-flows test cookie=0x0, duration=27.521s, table=0, n_packets=*14172*, n_bytes=245541586, idle_age=0, priority=2000,ip,nw_dst=134.60.64.159 actions=set_queue:1,NORMAL cookie=0x0, duration=27.515s, table=0, n_packets=1, n_bytes=54, idle_age=26, priority=2000,in_port=3 actions=set_queue:2,NORMAL cookie=0x0, duration=26.624s, table=0, n_packets=84667, n_bytes=5607994, idle_age=0, priority=10 actions=NORMAL [Root @ omi-student15 openvswitch] # transl-vsctl - --columns = name, ofport list Interface name : test ofport : 65534 name : "enp0s25" ofport : 1 name : "vnet0" ofport : 2 name : "vnet1" ofport : 3 Please inform me if you need further details. Best Regards, Santhosh. On Wed, Dec 7, 2016 at 5:46 PM, Ben Pfaff <b...@ovn.org> wrote: > On Wed, Dec 07, 2016 at 12:20:24PM +0100, Santhosh R P wrote: > > Hi, > > > > The physical port (enp0s25) of the host and the tap devices (vnet0 and > > vnet1) of two hosted VMs are added to an OVS bridge named "test". > > > > ovs-vsctl show > > Bridge test > > Port test > > Interface test > > type: internal > > Port "vnet0" > > Interface "vnet0" > > Port "enp0s25" > > Interface "enp0s25" > > Port "vnet1" > > Interface "vnet1" > > ovs_version: "2.5.1" > > > > I want to apply traffic shaping for the traffic leaving from these two > VMs > > to an external machine over the internet. So, I created qos for enp0s25 > > with two queues using, > > > > ovs-vsctl set port enp0s25 qos=@newqos -- --id=@newqos create qos > > type=linux-htb queues:1=@vnet0queue queues:2=@vnet1queue -- > > --id=@vnet0queue create queue other-config:max-rate=100000000 -- > > --id=@vnet1queue create queue other-config:max-rate=200000000 > > > > > > QoS and queues are created as expected (both in OVS and TC). > > > > > > ovs-vsctl list qos > > > > _uuid : 9e8b295d-13cf-4c18-9df6-f75809bb1184 > > > > external_ids : {} > > > > other_config : {} > > > > queues : {1=c9f1e852-9b29-4736-8b83-8ce1562be857, > > 2=3c61b22c-87a4-4380-96b5-822000d2bc94} > > > > type : linux-htb > > > > > > ovs-ofctl -O OpenFlow13 queue-stats test > > > > OFPST_QUEUE reply (OF1.3) (xid=0x2): 3 queues > > > > port 1 queue 0: bytes=369596, pkts=1119, errors=0, > duration=4294961079. > > 3744967296s > > > > port 1 queue 1: bytes=108, pkts=2, errors=0, duration=4294961079. > > 3744967296s > > > > port 1 queue 2: bytes=108, pkts=2, errors=0, duration=4294961079. > > 3744967296s > > > > Then, as shown in the FAQ, I created flows to direct the traffic from VMs > > to these queues. > > > > > > ovs-ofctl add-flow test priority=2000,in_port=2,action > s=set_queue:1,normal > > ovs-ofctl add-flow test priority=2000,in_port=3,action > s=set_queue:2,normal > > > > ovs-ofctl add-flow test priority=10,actions=normal > > > > > > The ofport of vnet0 and vnet1 are verified to 2 and 3 respectively > > (using: ovs-vsctl > > -- --columns=name,ofport list Interface) and the flows are configured > > correctly, > > > > When I use iPerf3 from VM1 to an external IP, I could see that packet > count > > is increasing in Port 2 (using: ovs-ofctl dump-ports test). > > > > > > The flows before the iPerf test looks like this, > > > > > > ovs-ofctl dump-flows test > > > > NXST_FLOW reply (xid=0x4): > > > > cookie=0x0, duration=7.439s, table=0, n_packets=0, n_bytes=0, > > idle_age=7, priority=2000,in_port=2 actions=set_queue:1,NORMAL > > > > cookie=0x0, duration=7.433s, table=0, n_packets=0, n_bytes=0, > > idle_age=7, priority=2000,in_port=3 actions=set_queue:2,NORMAL > > > > cookie=0x0, duration=6.263s, table=0, n_packets=55, n_bytes=17232, > > idle_age=0, priority=10 actions=NORMAL > > > > > > And after the iPerf test, looks like this (with packet counts increased > in > > flow 1 and 3), > > > > > > ovs-ofctl dump-flows test > > > > NXST_FLOW reply (xid=0x4): > > > > cookie=0x0, duration=628.046s, table=0, n_packets=26200, > > n_bytes=1104961741, idle_age=2, priority=2000,in_port=2 > > actions=set_queue:1,NORMAL > > > > cookie=0x0, duration=628.040s, table=0, n_packets=11, n_bytes=594, > > idle_age=14, priority=2000,in_port=3 actions=set_queue:2,NORMAL > > > > cookie=0x0, duration=626.870s, table=0, n_packets=203437, > > n_bytes=1118596590, idle_age=0, priority=10 actions=NORMAL (packet count > > here increased along with first flow in same magnitude) > > > > But, the packets are not reaching the corresponding queues (verified in > > both OVS and TC), and no traffic shaping takes place. The default queue 0 > > gets filled instead. > > > > > > On the other hand, the flows are hit, queues are filled and traffic > shaping > > takes place if I use the dest IP address of iperf test as filter in the > > flow like this, > > > > > > ovs-ofctl add-flow test priority=2000,ip,nw_dst=134.60.64.159, > > actions=set_queue:1,normal > > ovs-ofctl add-flow test priority=2000,in_port=3,action > s=set_queue:2,normal > > > > ovs-ofctl add-flow test priority=10,actions=normal > > > > > > Using the src IP of VM1 or the port for VM1, hits the flows, but packets > > are not forwarded to the queue. > > > > If this has something to do with, I used IP Masquerading in the host with > > private IPs for both VMs. > > > > In ovs-vswitchd.log, there is no information other than added and deleted > > flows. > > > > > > What am I doing wrong here? Would be grateful to anyone who can help. > > What's showing up in the kernel flows as displayed by "ovs-dpctl > dump-flows" while the test is running? >
_______________________________________________ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss