An error occurred fetching the project authors.
  1. 19 Feb, 2010 1 commit
    • Eric W. Biederman's avatar
      net: Fix sysctl restarts... · 88af182e
      Eric W. Biederman authored
      Yuck.  It turns out that when we restart sysctls we were restarting
      with the values already changed.  Which unfortunately meant that
      the second time through we thought there was no change and skipped
      all kinds of work, despite the fact that there was indeed a change.
      
      I have fixed this the simplest way possible by restoring the changed
      values when we restart the sysctl write.
      
      One of my coworkers spotted this bug when after disabling forwarding
      on an interface pings were still forwarded.
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88af182e
  2. 25 Nov, 2009 1 commit
  3. 14 Nov, 2009 1 commit
  4. 12 Nov, 2009 2 commits
    • Eric W. Biederman's avatar
      sysctl net: Remove unused binary sysctl code · f8572d8f
      Eric W. Biederman authored
      Now that sys_sysctl is a compatiblity wrapper around /proc/sys
      all sysctl strategy routines, and all ctl_name and strategy
      entries in the sysctl tables are unused, and can be
      revmoed.
      
      In addition neigh_sysctl_register has been modified to no longer
      take a strategy argument and it's callers have been modified not
      to pass one.
      
      Cc: "David Miller" <davem@davemloft.net>
      Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
      Cc: netdev@vger.kernel.org
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      f8572d8f
    • David S. Miller's avatar
      ipv6: Remove unused var in inet6_dump_ifinfo() · 434a8a58
      David S. Miller authored
      Reported by Stephen Rothwell:
      
      --------------------
      Today's linux-next build (x86_64 allmodconfig) produced this warning:
      
      net/ipv6/addrconf.c: In function 'inet6_dump_ifinfo':
      net/ipv6/addrconf.c:3833: warning: unused variable 'err'
      
      Introduced by commit 84d2697d ("ipv6:
      speedup inet6_dump_ifinfo()").
      --------------------
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      434a8a58
  5. 11 Nov, 2009 2 commits
  6. 04 Nov, 2009 1 commit
  7. 13 Oct, 2009 1 commit
  8. 07 Oct, 2009 1 commit
    • Octavian Purdila's avatar
      make TLLAO option for NA packets configurable · f7734fdf
      Octavian Purdila authored
      On Friday 02 October 2009 20:53:51 you wrote:
      
      > This is good although I would have shortened the name.
      
      Ah, I knew I forgot something :) Here is v4.
      
      tavi
      
      >From 24d96d825b9fa832b22878cc6c990d5711968734 Mon Sep 17 00:00:00 2001
      From: Octavian Purdila <opurdila@ixiacom.com>
      Date: Fri, 2 Oct 2009 00:51:15 +0300
      Subject: [PATCH] ipv6: new sysctl for sending TLLAO with unicast NAs
      
      Neighbor advertisements responding to unicast neighbor solicitations
      did not include the target link-layer address option. This patch adds
      a new sysctl option (disabled by default) which controls whether this
      option should be sent even with unicast NAs.
      
      The need for this arose because certain routers expect the TLLAO in
      some situations even as a response to unicast NS packets.
      
      Moreover, RFC 2461 recommends sending this to avoid a race condition
      (section 4.4, Target link-layer address)
      Signed-off-by: default avatarCosmin Ratiu <cratiu@ixiacom.com>
      Signed-off-by: default avatarOctavian Purdila <opurdila@ixiacom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f7734fdf
  9. 24 Sep, 2009 1 commit
  10. 17 Sep, 2009 1 commit
  11. 15 Sep, 2009 1 commit
    • Moni Shoua's avatar
      bonding: remap muticast addresses without using dev_close() and dev_open() · 75c78500
      Moni Shoua authored
      This patch fixes commit e36b9d16. The approach
      there is to call dev_close()/dev_open() whenever the device type is changed in
      order to remap the device IP multicast addresses to HW multicast addresses.
      This approach suffers from 2 drawbacks:
      
      *. It assumes tha the device is UP when calling dev_close(), or otherwise
         dev_close() has no affect. It is worth to mention that initscripts (Redhat)
         and sysconfig (Suse) doesn't act the same in this matter. 
      *. dev_close() has other side affects, like deleting entries from the routing
         table, which might be unnecessary.
      
      The fix here is to directly remap the IP multicast addresses to HW multicast
      addresses for a bonding device that changes its type, and nothing else.
      Reported-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Signed-off-by: default avatarMoni Shoua <monis@voltaire.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      75c78500
  12. 11 Sep, 2009 1 commit
  13. 04 Jul, 2009 1 commit
    • Brian Haley's avatar
      IPv6: preferred lifetime of address not getting updated · a1ed0526
      Brian Haley authored
      There's a bug in addrconf_prefix_rcv() where it won't update the
      preferred lifetime of an IPv6 address if the current valid lifetime
      of the address is less than 2 hours (the minimum value in the RA).
      
      For example, If I send a router advertisement with a prefix that
      has valid lifetime = preferred lifetime = 2 hours we'll build
      this address:
      
      3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
          inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic
             valid_lft 7175sec preferred_lft 7175sec
      
      If I then send the same prefix with valid lifetime = preferred
      lifetime = 0 it will be ignored since the minimum valid lifetime
      is 2 hours:
      
      3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
          inet6 2001:1890:1109:a20:217:8ff:fe7d:4718/64 scope global dynamic
             valid_lft 7161sec preferred_lft 7161sec
      
      But according to RFC 4862 we should always reset the preferred lifetime
      even if the valid lifetime is invalid, which would cause the address
      to immediately get deprecated.  So with this patch we'd see this:
      
      5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
          inet6 2001:1890:1109:a20:21f:29ff:fe5a:ef04/64 scope global deprecated dynamic
             valid_lft 7163sec preferred_lft 0sec
      
      The comment winds-up being 5x the size of the code to fix the problem.
      
      Update the preferred lifetime of IPv6 addresses derived from a prefix
      info option in a router advertisement even if the valid lifetime in
      the option is invalid, as specified in RFC 4862 Section 5.5.3e.  Fixes
      an issue where an address will not immediately become deprecated.
      Reported by Jens Rosenboom.
      Signed-off-by: default avatarBrian Haley <brian.haley@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a1ed0526
  14. 26 Jun, 2009 1 commit
  15. 12 Jun, 2009 1 commit
  16. 01 Jun, 2009 1 commit
  17. 19 May, 2009 2 commits
  18. 25 Mar, 2009 1 commit
  19. 21 Mar, 2009 1 commit
  20. 19 Mar, 2009 1 commit
    • Brian Haley's avatar
      ipv6: Fix incorrect disable_ipv6 behavior · 9bdd8d40
      Brian Haley authored
      Fix the behavior of allowing both sysctl and addrconf_dad_failure()
      to set the disable_ipv6 parameter without any bad side-effects.
      If DAD fails and accept_dad > 1, we will still set disable_ipv6=1,
      but then instead of allowing an RA to add an address then
      immediately fail DAD, we simply don't allow the address to be
      added in the first place.  This also lets the user set this flag
      and disable all IPv6 addresses on the interface, or on the entire
      system.
      Signed-off-by: default avatarBrian Haley <brian.haley@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9bdd8d40
  21. 03 Mar, 2009 2 commits
    • Daniel Lezcano's avatar
      netns: fix addrconf_ifdown kernel panic · 176c39af
      Daniel Lezcano authored
      When a network namespace is destroyed the network interfaces are
      all unregistered, making addrconf_ifdown called by the netdevice
      notifier. 
      In the other hand, the addrconf exit method does a loop on the network
      devices and does addrconf_ifdown on each of them. But the ordering of 
      the netns subsystem is not right because it uses the register_pernet_device
      instead of register_pernet_subsys. If we handle the loopback as
      any network device, we can safely use register_pernet_subsys.
      
      But if we use register_pernet_subsys, the addrconf exit method will do
      exactly what was already done with the unregistering of the network
      devices. So in definitive, this code is pointless.
      
      I removed the netns addrconf exit method and moved the code to the
      addrconf cleanup function.
      Signed-off-by: default avatarDaniel Lezcano <dlezcano@fr.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      176c39af
    • Stephen Hemminger's avatar
      b325fddb
  22. 25 Feb, 2009 1 commit
    • Pablo Neira Ayuso's avatar
      netlink: change nlmsg_notify() return value logic · 1ce85fe4
      Pablo Neira Ayuso authored
      This patch changes the return value of nlmsg_notify() as follows:
      
      If NETLINK_BROADCAST_ERROR is set by any of the listeners and
      an error in the delivery happened, return the broadcast error;
      else if there are no listeners apart from the socket that
      requested a change with the echo flag, return the result of the
      unicast notification. Thus, with this patch, the unicast
      notification is handled in the same way of a broadcast listener
      that has set the NETLINK_BROADCAST_ERROR socket flag.
      
      This patch is useful in case that the caller of nlmsg_notify()
      wants to know the result of the delivery of a netlink notification
      (including the broadcast delivery) and take any action in case
      that the delivery failed. For example, ctnetlink can drop packets
      if the event delivery failed to provide reliable logging and
      state-synchronization at the cost of dropping packets.
      
      This patch also modifies the rtnetlink code to ignore the return
      value of rtnl_notify() in all callers. The function rtnl_notify()
      (before this patch) returned the error of the unicast notification
      which makes rtnl_set_sk_err() reports errors to all listeners. This
      is not of any help since the origin of the change (the socket that
      requested the echoing) notices the ENOBUFS error if the notification
      fails and should resync itself.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Acked-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ce85fe4
  23. 07 Feb, 2009 1 commit
  24. 28 Jan, 2009 1 commit
  25. 20 Nov, 2008 1 commit
  26. 05 Nov, 2008 1 commit
    • Benjamin Thery's avatar
      ipv6: fix run pending DAD when interface becomes ready · e3ec6cfc
      Benjamin Thery authored
      With some net devices types, an IPv6 address configured while the
      interface was down can stay 'tentative' forever, even after the interface
      is set up. In some case, pending IPv6 DADs are not executed when the
      device becomes ready.
      
      I observed this while doing some tests with kvm. If I assign an IPv6 
      address to my interface eth0 (kvm driver rtl8139) when it is still down
      then the address is flagged tentative (IFA_F_TENTATIVE). Then, I set
      eth0 up, and to my surprise, the address stays 'tentative', no DAD is
      executed and the address can't be pinged.
      
      I also observed the same behaviour, without kvm, with virtual interfaces
      types macvlan and veth.
      
      Some easy steps to reproduce the issue with macvlan:
      
      1. ip link add link eth0 type macvlan
      2. ip -6 addr add 2003::ab32/64 dev macvlan0
      3. ip addr show dev macvlan0
         ... 
         inet6 2003::ab32/64 scope global tentative
         ...
      4. ip link set macvlan0 up
      5. ip addr show dev macvlan0
         ...
         inet6 2003::ab32/64 scope global tentative
         ...
         Address is still tentative
      
      I think there's a bug in net/ipv6/addrconf.c, addrconf_notify():
      addrconf_dad_run() is not always run when the interface is flagged IF_READY.
      Currently it is only run when receiving NETDEV_CHANGE event. Looks like
      some (virtual) devices doesn't send this event when becoming up.
      
      For both NETDEV_UP and NETDEV_CHANGE events, when the interface becomes
      ready, run_pending should be set to 1. Patch below.
      
      'run_pending = 1' could be moved below the if/else block but it makes 
      the code less readable.
      Signed-off-by: default avatarBenjamin Thery <benjamin.thery@bull.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e3ec6cfc
  27. 04 Nov, 2008 1 commit
    • Alexey Dobriyan's avatar
      net: '&' redux · 6d9f239a
      Alexey Dobriyan authored
      I want to compile out proc_* and sysctl_* handlers totally and
      stub them to NULL depending on config options, however usage of &
      will prevent this, since taking adress of NULL pointer will break
      compilation.
      
      So, drop & in front of every ->proc_handler and every ->strategy
      handler, it was never needed in fact.
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d9f239a
  28. 29 Oct, 2008 1 commit
  29. 28 Oct, 2008 1 commit
  30. 16 Oct, 2008 1 commit
  31. 23 Aug, 2008 1 commit
    • Stephen Hemminger's avatar
      ipv6: protocol for address routes · f410a1fb
      Stephen Hemminger authored
      This fixes a problem spotted with zebra, but not sure if it is
      necessary a kernel problem.  With IPV6 when an address is added to an
      interface, Zebra creates a duplicate RIB entry, one as a connected
      route, and other as a kernel route.
      
      When an address is added to an interface the RTN_NEWADDR message
      causes Zebra to create a connected route. In IPV4 when an address is
      added to an interface a RTN_NEWROUTE message is set to user space with
      the protocol RTPROT_KERNEL. Zebra ignores these messages, because it
      already has the connected route.
      
      The problem is that route created in IPV6 has route protocol ==
      RTPROT_BOOT.  Was this a design decision or a bug? This fixes it. Same
      patch applies to both net-2.6 and stable.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f410a1fb
  32. 14 Aug, 2008 1 commit
  33. 26 Jul, 2008 1 commit
  34. 22 Jul, 2008 1 commit
  35. 21 Jul, 2008 1 commit
  36. 20 Jul, 2008 1 commit