[ovs-discuss] QoS (ingress_policing limitation ) is not working under VLAN+Bridge combination
Ben Pfaff
blp at nicira.com
Mon Jul 22 17:49:01 UTC 2013
Did you read the FAQ?
Q: I configured QoS, correctly, but my measurements show that it isn't
working as well as I expect.
A: With the Linux kernel, the Open vSwitch implementation of QoS has
two aspects:
- Open vSwitch configures a subset of Linux kernel QoS
features, according to what is in OVSDB. It is possible that
this code has bugs. If you believe that this is so, then you
can configure the Linux traffic control (QoS) stack directly
with the "tc" program. If you get better results that way,
you can send a detailed bug report to bugs at openvswitch.org.
It is certain that Open vSwitch cannot configure every Linux
kernel QoS feature. If you need some feature that OVS cannot
configure, then you can also use "tc" directly (or add that
feature to OVS).
- The Open vSwitch implementation of OpenFlow allows flows to
be directed to particular queues. This is pretty simple and
unlikely to have serious bugs at this point.
However, most problems with QoS on Linux are not bugs in Open
vSwitch at all. They tend to be either configuration errors
(please see the earlier questions in this section) or issues with
the traffic control (QoS) stack in Linux. The Open vSwitch
developers are not experts on Linux traffic control. We suggest
that, if you believe you are encountering a problem with Linux
traffic control, that you consult the tc manpages (e.g. tc(8),
tc-htb(8), tc-hfsc(8)), web resources (e.g. http://lartc.org/), or
mailing lists (e.g. http://vger.kernel.org/vger-lists.html#netdev).
On Mon, Jul 22, 2013 at 11:42:33AM +0530, ashish yadav wrote:
> Hi Ben,
>
> I try to make small Fig for your's understanding here :
>
> HOST2
>
> ovsbro.4093------ovsbr0------eth0-----------|
> vlan
> tag= |
> 4093
> |
>
> 192.168.102.198 |
>
> |
>
> |
>
> | 10Gbps
>
> |
>
> |
>
> |
> VM1 HOST1
> |
> eth0.4093--eth0--vnet0--ovsbr0.4093--0vsbr0--eth0-----------|
> vlan tag= vlan tag=
> 4093 4093
> 192.168.102.5 192.168.102.199
>
> Now ingress policing is set for interface vnet0:
> ovs-vsctl set interface vnet0 ingress_policing_rate=10000
> ovs-vsctl set Interface vnet0 ingress_policing_burst=100
>
> Now running netperif or Iperf (client ) at VM1 show no affect of ingress
> policing setting .
> If I am doing something wrong here ?
> Why Ingress Policing not work with tagged VLAN + OVSBridge ?
>
> Thanks & Regards
> Ashish
>
>
>
> On Fri, Jul 19, 2013 at 12:50 PM, ashish yadav <ashishyadav78 at gmail.com>wrote:
>
> > Hi,
> >
> > Case is different than previously reported by Qiu Yu.
> >
> > In my case , I am taping the Vlan first & then applying ingress policing
> > later.
> >
> > The system look like this:
> > [root at ash]# ovs-vsctl show
> > 54c73046-ccbd-4f8c-8226-2c724fd34a23
> > Bridge "ovsbr0"
> > Port "ovsbr0"
> > Interface "ovsbr0"
> > type: internal
> > Port "vnet0"
> > Interface "vnet0"
> > Port "eth0"
> > Interface "eth0"
> > Port "ovsbr0.4093"
> > tag: 4093
> > Interface "ovsbr0.4093"
> > type: internal
> > Bridge "virbr0"
> > Port "virbr0-nic"
> > Interface "virbr0-nic"
> > Port "virbr0"
> > Interface "virbr0"
> > type: internal
> > ovs_version: "1.4.3"
> >
> >
> > After that apply ingress policing:
> > [root at ash]# ovs-vsctl set interface vnet0 ingress_policing_rate=10000
> > [root at ash]# ovs-vsctl set Interface vnet0 ingress_policing_burst=100
> >
> > It set ingress policing as seen:
> > [root at ash]# ovs-vsctl list Interface vnet0
> > _uuid : 62e37f45-debe-4082-892c-cc6a46ccd289
> > admin_state : up
> > cfm_fault : []
> > cfm_mpid : []
> > cfm_remote_mpids : []
> > duplex : full
> > external_ids : {}
> > ingress_policing_burst: 10000
> > ingress_policing_rate: 1000000
> > lacp_current : []
> > link_resets : 1
> > link_speed : 10000000
> > link_state : up
> > mac : []
> > mtu : 9000
> > name : "vnet0"
> > ofport : 3
> > options : {}
> > other_config : {}
> > statistics : {collisions=0, rx_bytes=468, rx_crc_err=0,
> > rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0, rx_packets=6,
> > tx_bytes=8336, tx_dropped=0, tx_errors=0, tx_packets=161}
> > status : {driver_name=tun, driver_version="1.6",
> > firmware_version="N/A"}
> > type : ""
> >
> >
> >
> > [root at ash]# tc qdisc show dev vnet0
> > qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1
> > 1 1 1 1
> > qdisc ingress ffff: parent ffff:fff1 ----------------
> >
> >
> > [root at ash]# tc filter show dev vnet0 parent ffff:fff1
> > filter parent ffff: protocol ip pref 50 u32
> > filter parent ffff: protocol ip pref 50 u32 fh 800: ht divisor 1
> > filter parent ffff: protocol ip pref 50 u32 fh 800::800 order 2048 key ht
> > 800 bkt 0 flowid :1
> > match 00000000/00000000 at 12
> > police 0xe rate 10000Kbit burst 100Kb mtu 64Kb action drop overhead 0b
> > ref 1 bind 1
> >
> >
> > Now in Virtual Machine(VM) VM1, vlan is set using vconfig:
> > root at VM1:~# vconfig add eth0 4093
> > Added VLAN with VID == 4093 to IF -:eth0:-
> > root at VM1:~# ifconfig eth0 0.0.0.0
> > root at VM1:~# ifconfig eth0.4093 192.168.102.5
> >
> > Now do netperf from Vlan Virtual Machine VM1 (in host1) to Host2 (Vlan):
> >
> > root at VM1:~# ping 192.168.102.198 ........................ IP of Host2
> > Vlan Inferface
> > PING 192.168.102.198 (192.168.102.198) 56(84) bytes of data.
> > 64 bytes from 192.168.102.198: icmp_seq=1 ttl=64 time=1.55 ms
> > 64 bytes from 192.168.102.198: icmp_seq=2 ttl=64 time=0.365 ms
> >
> > --- 192.168.102.198 ping statistics ---
> > 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
> > rtt min/avg/max/mdev = 0.365/0.960/1.555/0.595 ms
> > root at VM1:~# netperf -4 -H 192.168.102.198
> > MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
> > 192.168.102.198 () port 0 AF_INET
> > Recv Send Send
> > Socket Socket Message Elapsed
> > Size Size Size Time Throughput
> > bytes bytes bytes secs. 10^6bits/sec
> >
> > 87380 16384 16384 10.01 935.15 ................................
> > The value exceeds the limitation
> > root at VM1:~# netperf -4 -H 192.168.102.198
> > MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
> > 192.168.102.198 () port 0 AF_INET
> > Recv Send Send
> > Socket Socket Message Elapsed
> > Size Size Size Time Throughput
> > bytes bytes bytes secs. 10^6bits/sec
> >
> > 87380 16384 16384 10.02 937.70
> > root at VM1:~# netperf -4 -t UDP_STREAM -H 192.168.102.198
> > MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
> > 192.168.102.198 () port 0 AF_INET
> > Socket Message Elapsed Messages
> > Size Size Time Okay Errors Throughput
> > bytes bytes secs # # 10^6bits/sec
> >
> > 129024 65507 10.00 84373 0 4421.43
> > 229376 10.00 112 5.87
> >
> > root at VM1:~# netperf -4 -t UDP_STREAM -H 192.168.102.198 -- -m 8712
> > MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
> > 192.168.102.198 () port 0 AF_INET
> > Socket Message Elapsed Messages
> > Size Size Time Okay Errors Throughput
> > bytes bytes secs # # 10^6bits/sec
> >
> > 129024 8712 10.00 382668 0 2666.93
> > 229376 10.00 91198 635.59
> >
> >
> >
> > So any clue that why ingress Policing not work with Vlan+OVS-Bridge
> > Combination ?
> >
> >
> > Thanks & Regards
> > Ashish
> >
> >
> >
> > On Thu, Jul 18, 2013 at 7:44 PM, Ben Pfaff <blp at nicira.com> wrote:
> >
> >> This week.
> >> On Jul 18, 2013 7:07 AM, "ashish yadav" <ashishyadav78 at gmail.com> wrote:
> >>
> >>> Hi Ben,
> >>>
> >>> Could you please point out which month/year archive mailing list this
> >>> problem discuss ?
> >>>
> >>> Thanks & Regards
> >>> Ashish
> >>>
> >>>
> >>> On Thu, Jul 18, 2013 at 7:25 PM, Ben Pfaff <blp at nicira.com> wrote:
> >>>
> >>>> You're the second person to ask about this combination this week.
> >>>> Please look in the list archive.
> >>>> On Jul 18, 2013 2:45 AM, "ashish yadav" <ashishyadav78 at gmail.com>
> >>>> wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> I am trying to test QoS (ingress_policing limitation ) with VLAN+OVS
> >>>>> Bridge combination, but its not working.
> >>>>>
> >>>>> # Connection environment is:
> >>>>> ovsbr0.4093 --ovsbr0--eth0--<10G>--eth0-ovsbr0--ovsbr0.4093
> >>>>>
> >>>>> Where ovsbr0.4093 is Vlan ( with Virtual Machine ) and eth0 is
> >>>>> physical port on Host.
> >>>>> eth0 is connected as port in openvswitch bridge(ovsbr0).
> >>>>> Two Host are used for above environment.
> >>>>>
> >>>>> I am using ovs_version 1.4.3 .
> >>>>>
> >>>>> If any one able to test ingress_policing limitation with VLAN+OVS
> >>>>> Bridge combination ?
> >>>>>
> >>>>>
> >>>>> Thanks & Regards
> >>>>> Ashish
> >>>>>
> >>>>> _______________________________________________
> >>>>> discuss mailing list
> >>>>> discuss at openvswitch.org
> >>>>> http://openvswitch.org/mailman/listinfo/discuss
> >>>>>
> >>>>>
> >>>
> >
More information about the discuss
mailing list