1. 17 10月, 2008 1 次提交
  2. 30 8月, 2008 1 次提交
  3. 27 8月, 2008 3 次提交
  4. 22 8月, 2008 1 次提交
  5. 21 8月, 2008 1 次提交
  6. 19 8月, 2008 5 次提交
  7. 18 8月, 2008 1 次提交
  8. 12 8月, 2008 1 次提交
  9. 09 8月, 2008 1 次提交
  10. 08 8月, 2008 1 次提交
  11. 07 8月, 2008 1 次提交
  12. 30 7月, 2008 1 次提交
    • D
      pkt_sched: Fix OOPS on ingress qdisc add. · 8d50b53d
      David S. Miller 提交于
      Bug report from Steven Jan Springl:
      
      	Issuing the following command causes a kernel oops:
      		tc qdisc add dev eth0 handle ffff: ingress
      
      The problem mostly stems from all of the special case handling of
      ingress qdiscs.
      
      So, to fix this, do the grafting operation the same way we do for TX
      qdiscs.  Which means that dev_activate() and dev_deactivate() now do
      the "qdisc_sleeping <--> qdisc" transitions on dev->rx_queue too.
      
      Future simplifications are possible now, mainly because it is
      impossible for dev_queue->{qdisc,qdisc_sleeping} to be NULL.  There
      are NULL checks all over to handle the ingress qdisc special case
      that used to exist before this commit.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d50b53d
  13. 23 7月, 2008 1 次提交
  14. 20 7月, 2008 1 次提交
  15. 19 7月, 2008 1 次提交
    • D
      pkt_sched: Manage qdisc list inside of root qdisc. · 30723673
      David S. Miller 提交于
      Idea is from Patrick McHardy.
      
      Instead of managing the list of qdiscs on the device level, manage it
      in the root qdisc of a netdev_queue.  This solves all kinds of
      visibility issues during qdisc destruction.
      
      The way to iterate over all qdiscs of a netdev_queue is to visit
      the netdev_queue->qdisc, and then traverse it's list.
      
      The only special case is to ignore builting qdiscs at the root when
      dumping or doing a qdisc_lookup().  That was not needed previously
      because builtin qdiscs were not added to the device's qdisc_list.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30723673
  16. 18 7月, 2008 6 次提交
  17. 09 7月, 2008 9 次提交
  18. 06 7月, 2008 1 次提交
  19. 02 7月, 2008 1 次提交
  20. 15 4月, 2008 1 次提交
    • J
      [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop · 066a3b5b
      Jarek Poplawski 提交于
      TC_H_MAJ(parentid) for root classes is the same as for ingress, and if
      ingress qdisc is created qdisc_lookup() returns its pointer (without
      ingress NULL is returned). After this all qdisc_lookups give the same,
      and we get endless loop. (I don't know how this could hide for so long
      - it should trigger with every leaf class deleted if it's qdisc isn't
      empty.)
      
      After this fix qdisc_lookup() is omitted both for ingress and root
      parents, but looking for root is only wasting a little time here...
      Many thanks to Enrico Demarin for finding a test for catching this
      bug, which probably bothered quite a lot of admins.
       
      Reported-by: Enrico Demarin <enrico@superclick.com>,
      Signed-off-by: NJarek Poplawski <jarkao2@gmail.com>
      Acked-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      066a3b5b
  21. 26 3月, 2008 1 次提交