25 Dec, 2011

1 commit


07 Dec, 2011

2 commits


05 Dec, 2011

1 commit

  • like rt6_lookup, but allows caller to pass in flowi6 structure.
    Will be used by the upcoming ipv6 netfilter reverse path filter
    match.

    Signed-off-by: Florian Westphal
    Acked-by: David S. Miller
    Signed-off-by: Pablo Neira Ayuso

    Florian Westphal
     

25 Apr, 2011

1 commit

  • These header files are never installed to user consumption, so any
    __KERNEL__ cpp checks are superfluous.

    Projects should also not copy these files into their userland utility
    sources and try to use them there. If they insist on doing so, the
    onus is on them to sanitize the headers as needed.

    Signed-off-by: David S. Miller

    David S. Miller
     

23 Apr, 2011

1 commit


16 Apr, 2011

1 commit


23 Mar, 2011

1 commit


13 Mar, 2011

1 commit


21 Dec, 2010

1 commit


20 Dec, 2010

1 commit


03 Dec, 2010

2 commits


01 Dec, 2010

1 commit


13 Apr, 2010

1 commit

  • With latest CONFIG_PROVE_RCU stuff, I felt more comfortable to make this
    work.

    sk->sk_dst_cache is currently protected by a rwlock (sk_dst_lock)

    This rwlock is readlocked for a very small amount of time, and dst
    entries are already freed after RCU grace period. This calls for RCU
    again :)

    This patch converts sk_dst_lock to a spinlock, and use RCU for readers.

    __sk_dst_get() is supposed to be called with rcu_read_lock() or if
    socket locked by user, so use appropriate rcu_dereference_check()
    condition (rcu_read_lock_held() || sock_owned_by_user(sk))

    This patch avoids two atomic ops per tx packet on UDP connected sockets,
    for example, and permits sk_dst_lock to be much less dirtied.

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

    Eric Dumazet
     

08 Mar, 2010

1 commit

  • IPV6_PREFER_SRC_xxx definitions:
    | #define IPV6_PREFER_SRC_TMP 0x0001
    | #define IPV6_PREFER_SRC_PUBLIC 0x0002
    | #define IPV6_PREFER_SRC_COA 0x0004

    RT6_LOOKUP_F_xxx definitions:
    | #define RT6_LOOKUP_F_SRCPREF_TMP 0x00000008
    | #define RT6_LOOKUP_F_SRCPREF_PUBLIC 0x00000010
    | #define RT6_LOOKUP_F_SRCPREF_COA 0x00000020

    So, we can translate between these two groups by shift operation
    instead of multiple 'if's.

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

    YOSHIFUJI Hideaki / 吉藤英明
     

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
     

03 Jun, 2009

1 commit

  • Define three accessors to get/set dst attached to a skb

    struct dst_entry *skb_dst(const struct sk_buff *skb)

    void skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)

    void skb_dst_drop(struct sk_buff *skb)
    This one should replace occurrences of :
    dst_release(skb->dst)
    skb->dst = NULL;

    Delete skb->dst field

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

    Eric Dumazet
     

15 Aug, 2008

1 commit


13 Aug, 2008

2 commits


23 Jul, 2008

1 commit


12 Apr, 2008

1 commit

  • - net/ipv6/addrconf.c:
    ipv6_get_ifaddr(), ipv6_dev_get_saddr()
    - net/ipv6/mcast.c:
    ipv6_sock_mc_join(), ipv6_sock_mc_drop(),
    inet6_mc_check(),
    ipv6_dev_mc_inc(), __ipv6_dev_mc_dec(), ipv6_dev_mc_dec(),
    ipv6_chk_mcast_addr()
    - net/ipv6/route.c:
    rt6_lookup(), icmp6_dst_alloc()
    - net/ipv6/ip6_output.c:
    ip6_nd_hdr()
    - net/ipv6/ndisc.c:
    ndisc_send_ns(), ndisc_send_rs(), ndisc_send_redirect(),
    ndisc_get_neigh(), __ndisc_send()

    Signed-off-by: YOSHIFUJI Hideaki

    YOSHIFUJI Hideaki
     

10 Apr, 2008

1 commit

  • 1) Standlaone ip6_null_entry is no longer needed as it is replaced by
    the ip6_null_entry member of ipv6 (instance of struct netns_ipv6) in
    struct net (as a result of Network Namespaces patches).

    2) These 3 methods from this same header are not defined anywhere:
    ip6_rt_addr_add(), ip6_rt_addr_del(), rt6_sndmsg()

    Signed-off-by: Rami Rosen
    Signed-off-by: David S. Miller

    Rami Rosen
     

25 Mar, 2008

2 commits


06 Mar, 2008

1 commit


05 Mar, 2008

4 commits


04 Mar, 2008

3 commits


08 Feb, 2008

1 commit


29 Jan, 2008

2 commits

  • All the sysctl concerning the routes are moved to the network
    namespace structure. A helper function is called to initialize the
    variables.

    Because the ipv6 protocol is not yet per namespace, the variables are
    accessed relatively from the network namespace.

    Signed-off-by: Daniel Lezcano
    Signed-off-by: David S. Miller

    Daniel Lezcano
     
  • The route initialization function does not return any value to notify
    if the initialization is successful or not. This patch checks all
    calls made for the initilization in order to return a value for the
    caller.

    Unfortunately, proc_net_fops_create will return a NULL pointer if
    CONFIG_PROC_FS is off, so we can not check the return code without an
    ifdef CONFIG_PROC_FS block in the ip6_route_init function.

    Signed-off-by: Daniel Lezcano
    Acked-by: Benjamin Thery
    Signed-off-by: David S. Miller

    Daniel Lezcano
     

26 Apr, 2007

1 commit


03 Dec, 2006

1 commit


19 Oct, 2006

1 commit

  • Struct pol_chain has existed since at least the 2.2 kernel, but isn't used
    anymore. As the IPv6 policy routing is implemented in a totally different
    way in the current kernel, just get rid of it.

    Signed-off-by: Ville Nuorvala
    Signed-off-by: David S. Miller

    Ville Nuorvala