1. 15 11月, 2012 8 次提交
  2. 14 11月, 2012 1 次提交
  3. 13 11月, 2012 1 次提交
  4. 10 11月, 2012 6 次提交
  5. 09 11月, 2012 2 次提交
  6. 08 11月, 2012 16 次提交
  7. 07 11月, 2012 1 次提交
    • E
      htb: fix two bugs · 196d97f6
      Eric Dumazet 提交于
      Commit 56b765b7 (htb: improved accuracy at high rates)
      introduced two bugs :
      
      1) one bstats_update() was inadvertently removed from
         htb_dequeue_tree(), breaking statistics/rate estimation.
      
      2) Missing qdisc_put_rtab() calls in htb_change_class(),
         leaking kernel memory, now struct htb_class no longer
         retains pointers to qdisc_rate_table structs.
      
         Since only rate is used, dont use qdisc_get_rtab() calls
         copying data we ignore anyway.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Vimalkumar <j.vimal@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      196d97f6
  8. 04 11月, 2012 5 次提交
    • L
      bridge: Avoid 'statement with no effect' compiler warnings · 0cb2bbbe
      Lee Jones 提交于
      Instead of issuing (0) statements when !CONFIG_SYSFS which will cause
      'warning: ', we'll use inline statements instead. This will effectively
      do the same thing, but suppress any unnecessary warnings.
      
      Cc: Stephen Hemminger <shemminger@vyatta.com>
      Cc: bridge@lists.linux-foundation.org
      Cc: netdev@vger.kernel.org
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0cb2bbbe
    • C
      net: inet_diag -- Return error code if protocol handler is missed · cacb6ba0
      Cyrill Gorcunov 提交于
      We've observed that in case if UDP diag module is not
      supported in kernel the netlink returns NLMSG_DONE without
      notifying a caller that handler is missed.
      
      This patch makes __inet_diag_dump to return error code instead.
      
      So as example it become possible to detect such situation
      and handle it gracefully on userspace level.
      Signed-off-by: NCyrill Gorcunov <gorcunov@openvz.org>
      CC: David Miller <davem@davemloft.net>
      CC: Eric Dumazet <eric.dumazet@gmail.com>
      CC: Pavel Emelyanov <xemul@parallels.com>
      Acked-by: NPavel Emelyanov <xemul@parallels.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cacb6ba0
    • J
      net: fix bridge notify hook to manage flags correctly · c38e01b8
      John Fastabend 提交于
      The bridge notify hook rtnl_bridge_notify() was not handling the
      case where the master flags was set or with both flags set. First
      flags are not being passed correctly and second the logic to parse
      them is broken.
      
      This patch passes the original flags value and fixes the
      logic.
      Reported-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c38e01b8
    • J
      rtnetlink: Use nlmsg type RTM_NEWNEIGH from dflt fdb dump · a7a558fe
      John Fastabend 提交于
      Change the dflt fdb dump handler to use RTM_NEWNEIGH to
      be compatible with bridge dump routines.
      
      The dump reply from the network driver handlers should
      match the reply from bridge handler. The fact they were
      not in the ixgbe case was effectively a bug. This patch
      resolves it.
      
      Applications that were not checking the nlmsg type will
      continue to work. And now applications that do check
      the type will work as expected.
      Signed-off-by: NJohn Fastabend <john.r.fastabend@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a7a558fe
    • V
      htb: improved accuracy at high rates · 56b765b7
      Vimalkumar 提交于
      Current HTB (and TBF) uses rate table computed by the "tc"
      userspace program, which has the following issue:
      
      The rate table has 256 entries to map packet lengths
      to token (time units).  With TSO sized packets, the
      256 entry granularity leads to loss/gain of rate,
      making the token bucket inaccurate.
      
      Thus, instead of relying on rate table, this patch
      explicitly computes the time and accounts for packet
      transmission times with nanosecond granularity.
      
      This greatly improves accuracy of HTB with a wide
      range of packet sizes.
      
      Example:
      
      tc qdisc add dev $dev root handle 1: \
              htb default 1
      
      tc class add dev $dev classid 1:1 parent 1: \
              rate 5Gbit mtu 64k
      
      Here is an example of inaccuracy:
      
      $ iperf -c host -t 10 -i 1
      
      With old htb:
      eth4:   34.76 Mb/s In  5827.98 Mb/s Out -  65836.0 p/s In  481273.0 p/s Out
      [SUM]  9.0-10.0 sec   669 MBytes  5.61 Gbits/sec
      [SUM]  0.0-10.0 sec  6.50 GBytes  5.58 Gbits/sec
      
      With new htb:
      eth4:   28.36 Mb/s In  5208.06 Mb/s Out -  53704.0 p/s In  430076.0 p/s Out
      [SUM]  9.0-10.0 sec   594 MBytes  4.98 Gbits/sec
      [SUM]  0.0-10.0 sec  5.80 GBytes  4.98 Gbits/sec
      
      The bits per second on the wire is still 5200Mb/s with new HTB
      because qdisc accounts for packet length using skb->len, which
      is smaller than total bytes on the wire if GSO is used.  But
      that is for another patch regardless of how time is accounted.
      
      Many thanks to Eric Dumazet for review and feedback.
      Signed-off-by: NVimalkumar <j.vimal@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56b765b7