[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