28 Oct, 2010

1 commit

  • Add __rcu annotations to :
    (struct ip_tunnel)->prl
    (struct ip_tunnel_prl_entry)->next
    (struct xfrm_tunnel)->next
    struct xfrm_tunnel *tunnel4_handlers
    struct xfrm_tunnel *tunnel64_handlers

    And use appropriate rcu primitives to reduce sparse warnings if
    CONFIG_SPARSE_RCU_POINTER=y

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

    Eric Dumazet
     

26 Oct, 2010

1 commit

  • (struct ip6_tnl)->next is rcu protected :
    (struct ip_tunnel)->next is rcu protected :
    (struct xfrm6_tunnel)->next is rcu protected :

    add __rcu annotation and proper rcu primitives.

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

    Eric Dumazet
     

28 Sep, 2010

1 commit

  • Tunnels are going to use percpu for their accounting.

    They are going to use a new tstats field in net_device.

    skb_tunnel_rx() is changed to be a wrapper around __skb_tunnel_rx()

    IPTUNNEL_XMIT() is changed to be a wrapper around __IPTUNNEL_XMIT()

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

    Eric Dumazet
     

11 Jun, 2010

1 commit


04 Nov, 2009

1 commit

  • This cleanup patch puts struct/union/enum opening braces,
    in first line to ease grep games.

    struct something
    {

    becomes :

    struct something {

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

    Eric Dumazet
     

24 Oct, 2009

1 commit


07 Oct, 2009

1 commit

  • IPv6 Rapid Deployment (6rd; draft-ietf-softwire-ipv6-6rd) builds upon
    mechanisms of 6to4 (RFC3056) to enable a service provider to rapidly
    deploy IPv6 unicast service to IPv4 sites to which it provides
    customer premise equipment. Like 6to4, it utilizes stateless IPv6 in
    IPv4 encapsulation in order to transit IPv4-only network
    infrastructure. Unlike 6to4, a 6rd service provider uses an IPv6
    prefix of its own in place of the fixed 6to4 prefix.

    With this option enabled, the SIT driver offers 6rd functionality by
    providing additional ioctl API to configure the IPv6 Prefix for in
    stead of static 2002::/16 for 6to4.

    Original patch was done by Alexandre Cassen
    based on old Internet-Draft.

    Signed-off-by: YOSHIFUJI Hideaki
    Signed-off-by: David S. Miller

    YOSHIFUJI Hideaki / 吉藤英明
     

05 Oct, 2009

1 commit

  • We currently dirty a cache line to update tunnel device stats
    (tx_packets/tx_bytes). We better use the txq->tx_bytes/tx_packets
    counters that already are present in cpu cache, in the cache
    line shared with txq->_xmit_lock

    This patch extends IPTUNNEL_XMIT() macro to use txq pointer
    provided by the caller.

    Also &tunnel->dev->stats can be replaced by &dev->stats

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

    Eric Dumazet
     

27 Sep, 2009

1 commit

  • This reverts commit 645069299a1c7358cf7330afe293f07552f11a5d.

    While the code does not actually break anything, it does not completely follow
    RFC5214 yet. After talking back with Fred L. Templin, I agree that completing the
    ISATAP specific RS/RA code, would pollute the kernel a lot with code that is better
    implemented in userspace.

    The kernel should not send RS packages for ISATAP at all.

    Signed-off-by: Sascha Hlusiak
    Acked-by: Fred L. Templin
    Signed-off-by: David S. Miller

    Sascha Hlusiak
     

25 Sep, 2009

1 commit

  • It seems recursion field from "struct ip_tunnel" is not anymore needed.
    recursion prevention is done at the upper level (in dev_queue_xmit()),
    since we use HARD_TX_LOCK protection for tunnels.

    This avoids a cache line ping pong on "struct ip_tunnel" : This structure
    should be now mostly read on xmit and receive paths.

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

    Eric Dumazet
     

20 May, 2009

1 commit

  • be sent periodically. The rs_delay can be speficied when adding the
    PRL entry and defaults to 15 minutes.

    The RS is sent from every link local adress that's assigned to the
    tunnel interface. It's directed to the (guessed) linklocal address
    of the router and is sent through the tunnel.

    Better: send to ff02::2 encapsuled in unicast directed to router-v4.

    Signed-off-by: Sascha Hlusiak
    Signed-off-by: David S. Miller

    Sascha Hlusiak
     

10 Oct, 2008

1 commit

  • This patch makes the RX/TX byte counters for IPIP, GRE and SIT more
    consistent. Previously we included the external IP headers on the
    way out but not when the packet is inbound.

    The new scheme is to count payload only in both directions. For
    IPIP and SIT this simply means the exclusion of the external IP
    header. For GRE this means that we exclude the GRE header as
    well.

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

    Herbert Xu
     

22 May, 2008

1 commit


03 Apr, 2008

2 commits


29 Jan, 2008

1 commit

  • Most callers of the LOCAL_OUT chain will set the IP packet length and
    header checksum before doing so. They also share the same output
    function dst_output.

    This patch creates a new function called ip_local_out which does all
    of that and converts the appropriate users over to it.

    Apart from removing duplicate code, it will also help in merging the
    IPsec output path once the same thing is done for IPv6.

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

    Herbert Xu
     

03 Dec, 2006

2 commits

  • This patch makes two needlessly global functions static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     
  • Throughout the TCP/DCCP (and tunnelling) code, it often happens that the
    return code of a transmit function needs to be tested against NET_XMIT_CN
    which is a value that does not indicate a strict error condition.

    This patch uses a macro for these recurring situations which is consistent
    with the already existing macro net_xmit_errno, saving on duplicated code.

    Signed-off-by: Gerrit Renker
    Signed-off-by: Arnaldo Carvalho de Melo

    Gerrit Renker
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds