06 Jul, 2011

1 commit


20 Jan, 2011

1 commit


11 Jan, 2011

1 commit

  • HTB takes into account skb is segmented in stats updates.
    Generalize this to all schedulers.

    They should use qdisc_bstats_update() helper instead of manipulating
    bstats.bytes and bstats.packets

    Add bstats_update() helper too for classes that use
    gnet_stats_basic_packed fields.

    Note : Right now, TCQ_F_CAN_BYPASS shortcurt can be taken only if no
    stab is setup on qdisc.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

18 Aug, 2010

1 commit

  • We leak at least 32bits of kernel memory to user land in tc dump,
    because we dont init all fields (capab ?) of the dumped structure.

    Use C99 initializers so that holes and non explicit fields are zeroed.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

05 Aug, 2010

1 commit

  • On the TX path, skb->data points to the ethernet header, not the network
    header. So when validating the packet length for accessing we should
    take the ethernet header into account.

    Signed-off-by: Changli Gao
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Changli Gao
     

03 Aug, 2010

1 commit


01 Aug, 2010

2 commits


21 Jul, 2010

1 commit


13 Jul, 2010

1 commit

  • not all of the ICMP packets need an IP header payload, so we check the length
    of the skbs only when the packets should have an IP header payload.

    Based upon analysis and initial patch by Rodrigo Partearroyo González.

    Signed-off-by: Changli Gao
    Acked-by: Herbert Xu
    ----
    net/sched/act_nat.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)
    Signed-off-by: David S. Miller

    Changli Gao
     

01 Jul, 2010

1 commit

  • act_nat: use stack variable

    structure tc_nat isn't too big for stack, so we can put it in stack.

    Signed-off-by: Changli Gao
    ----
    net/sched/act_nat.c | 31 ++++++++++---------------------
    1 file changed, 10 insertions(+), 21 deletions(-)
    Signed-off-by: David S. Miller

    Changli Gao
     

02 Jun, 2010

1 commit


26 Nov, 2008

1 commit


20 Jul, 2008

1 commit


29 Jan, 2008

4 commits


11 Oct, 2007

1 commit

  • Stateless NAT is useful in controlled environments where restrictions are
    placed on through traffic such that we don't need connection tracking to
    correctly NAT protocol-specific data.

    In particular, this is of interest when the number of flows or the number
    of addresses being NATed is large, or if connection tracking information
    has to be replicated and where it is not practical to do so.

    Previously we had stateless NAT functionality which was integrated into
    the IPv4 routing subsystem. This was a great solution as long as the NAT
    worked on a subnet to subnet basis such that the number of NAT rules was
    relatively small. The reason is that for SNAT the routing based system
    had to perform a linear scan through the rules.

    If the number of rules is large then major renovations would have take
    place in the routing subsystem to make this practical.

    For the time being, the least intrusive way of achieving this is to use
    the u32 classifier written by Alexey Kuznetsov along with the actions
    infrastructure implemented by Jamal Hadi Salim.

    The following patch is an attempt at this problem by creating a new nat
    action that can be invoked from u32 hash tables which would allow large
    number of stateless NAT rules that can be used/updated in constant time.

    The actual NAT code is mostly based on the previous stateless NAT code
    written by Alexey. In future we might be able to utilise the protocol
    NAT code from netfilter to improve support for other protocols.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu