19 Feb, 2011

1 commit


07 Dec, 2010

1 commit


18 Nov, 2010

1 commit


13 Nov, 2010

1 commit

  • in_dev->mc_list is protected by one rwlock (in_dev->mc_list_lock).

    This can easily be converted to a RCU protection.

    Writers hold RTNL, so mc_list_lock is removed, not replaced by a
    spinlock.

    Signed-off-by: Eric Dumazet
    Cc: Cypher Wu
    Cc: Américo Wang
    Signed-off-by: David S. Miller

    Eric Dumazet
     

01 Oct, 2010

1 commit

  • ip_dev_find(net, addr) finds a device given an IPv4 source address and
    takes a reference on it.

    Introduce __ip_dev_find(), taking a third argument, to optionally take
    the device reference. Callers not asking the reference to be taken
    should be in an rcu_read_lock() protected section.

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

    Eric Dumazet
     

16 Sep, 2010

1 commit

  • dev->ip_ptr is protected by rtnl and rcu.

    Yet some places dont use appropriate primitives and/or locking rules.

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

    Eric Dumazet
     

17 Feb, 2010

1 commit


11 Jan, 2010

1 commit


07 Jan, 2010

1 commit

  • This is to be used together with switch technologies, like RFC3069,
    that where the individual ports are not allowed to communicate with
    each other, but they are allowed to talk to the upstream router. As
    described in RFC 3069, it is possible to allow these hosts to
    communicate through the upstream router by proxy_arp'ing.

    This patch basically allow proxy arp replies back to the same
    interface (from which the ARP request/solicitation was received).

    Tunable per device via proc "proxy_arp_pvlan":
    /proc/sys/net/ipv4/conf/*/proxy_arp_pvlan

    This switch technology is known by different vendor names:
    - In RFC 3069 it is called VLAN Aggregation.
    - Cisco and Allied Telesyn call it Private VLAN.
    - Hewlett-Packard call it Source-Port filtering or port-isolation.
    - Ericsson call it MAC-Forced Forwarding (RFC Draft).

    Signed-off-by: Jesper Dangaard Brouer
    Signed-off-by: David S. Miller

    Jesper Dangaard Brouer
     

26 Dec, 2009

1 commit

  • when using policy routing and the skb mark:
    there are cases where a back path validation requires us
    to use a different routing table for src ip validation than
    the one used for mapping ingress dst ip.
    One such a case is transparent proxying where we pretend to be
    the destination system and therefore the local table
    is used for incoming packets but possibly a main table would
    be used on outbound.
    Make the default behavior to allow the above and if users
    need to turn on the symmetry via sysctl src_valid_mark

    Signed-off-by: Jamal Hadi Salim
    Signed-off-by: David S. Miller

    Jamal Hadi Salim
     

04 Dec, 2009

1 commit

  • commit 8ec1e0ebe26087bfc5c0394ada5feb5758014fc8
    Author: Patrick McHardy
    Date: Thu Dec 3 12:16:35 2009 +0100

    ipv4: add sysctl to accept packets with local source addresses

    Change fib_validate_source() to accept packets with a local source address when
    the "accept_local" sysctl is set for the incoming inet device. Combined with the
    previous patches, this allows to communicate between multiple local interfaces
    over the wire.

    Signed-off-by: Patrick McHardy

    Signed-off-by: David S. Miller

    Patrick McHardy
     

05 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
     

28 Jul, 2009

1 commit


01 Feb, 2009

1 commit


08 Oct, 2008

1 commit

  • This patch add mc_count to struct in_device and updates
    increment/decrement/initilaize of this field in IPv4 and in IPv6.

    - Also printing the vfs /proc entry (/proc/net/igmp) is adjusted to
    use the new mc_count.

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

    Rami Rosen
     

04 Jun, 2008

1 commit

  • The field was supposed to allow the creation of an anycast route by
    assigning an anycast address to an address prefix. It was never
    implemented so this field is unused and serves no purpose. Remove it.

    Signed-off-by: Thomas Graf
    Signed-off-by: David S. Miller

    Thomas Graf
     

26 Mar, 2008

1 commit


29 Feb, 2008

1 commit


01 Feb, 2008

1 commit


29 Jan, 2008

6 commits


23 Jun, 2007

1 commit

  • When CONFIG_INET=y and CONFIG_SYSCTL=n:

    In file included from net/core/netpoll.c:16:
    include/linux/inetdevice.h:15: error:
    '__NET_IPV4_CONF_MAX' undeclared here (not in a function)
    make[2]: *** [net/core/netpoll.o] Error 1
    make[1]: *** [net/core] Error 2
    make: *** [net] Error 2

    So #include sysctl.h from inetdevice.h.

    Signed-off-by: Satyam Sharma
    Signed-off-by: David S. Miller

    Satyam Sharma
     

08 Jun, 2007

3 commits

  • Previously inet devices were only constructed when addresses are added
    (or rarely in ipmr). Therefore the default config values they get are
    the ones at the time of these operations.

    Now that we're creating inet devices earlier, this changes the
    behaviour of default config values in an incompatible way (see bug
    #8519).

    This patch creates a compromise by setting the default values at the
    same point as before but only for those that have not been explicitly
    set by the user since the inet device's creation.

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

    Herbert Xu
     
  • Previously once inetdev_init has been called on a device any changes
    made to ipv4_devconf_dflt would have no effect on that device's
    configuration.

    This creates a problem since we have moved the point where
    inetdev_init is called from when an address is added to where the
    device is registered.

    This patch is the first half of a set that tries to mimic the old
    behaviour while still calling inetdev_init.

    It propagates any changes to ipv4_devconf_dflt to those devices that
    have not had the corresponding attribute set.

    The next patch will forcibly set all values at the point where
    inetdev_init was previously called.

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

    Herbert Xu
     
  • This patch converts the ipv4_devconf config members (everything except
    sysctl) to an array. This allows easier manipulation which will be
    needed later on to provide better management of default config values.

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

    Herbert Xu
     

03 Dec, 2006

1 commit


29 Sep, 2006

4 commits


21 Mar, 2006

1 commit


04 Oct, 2005

1 commit

  • The following patch renames __in_dev_get() to __in_dev_get_rtnl() and
    introduces __in_dev_get_rcu() to cover the second case.

    1) RCU with refcnt should use in_dev_get().
    2) RCU without refcnt should use __in_dev_get_rcu().
    3) All others must hold RTNL and use __in_dev_get_rtnl().

    There is one exception in net/ipv4/route.c which is in fact a pre-existing
    race condition. I've marked it as such so that we remember to fix it.

    This patch is based on suggestions and prior work by Suzanne Wood and
    Paul McKenney.

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

    Herbert Xu
     

30 May, 2005

1 commit


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