1. 17 2月, 2010 1 次提交
    • T
      percpu: add __percpu sparse annotations to net · 7d720c3e
      Tejun Heo 提交于
      Add __percpu sparse annotations to net.
      
      These annotations are to make sparse consider percpu variables to be
      in a different address space and warn if accessed without going
      through percpu accessors.  This patch doesn't affect normal builds.
      
      The macro and type tricks around snmp stats make things a bit
      interesting.  DEFINE/DECLARE_SNMP_STAT() macros mark the target field
      as __percpu and SNMP_UPD_PO_STATS() macro is updated accordingly.  All
      snmp_mib_*() users which used to cast the argument to (void **) are
      updated to cast it to (void __percpu **).
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      Cc: Vlad Yasevich <vladislav.yasevich@hp.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7d720c3e
  2. 18 1月, 2010 1 次提交
  3. 06 11月, 2009 3 次提交
  4. 02 11月, 2009 1 次提交
  5. 19 10月, 2009 1 次提交
    • E
      inet: rename some inet_sock fields · c720c7e8
      Eric Dumazet 提交于
      In order to have better cache layouts of struct sock (separate zones
      for rx/tx paths), we need this preliminary patch.
      
      Goal is to transfert fields used at lookup time in the first
      read-mostly cache line (inside struct sock_common) and move sk_refcnt
      to a separate cache line (only written by rx path)
      
      This patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr,
      sport and id fields. This allows a future patch to define these
      fields as macros, like sk_refcnt, without name clashes.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c720c7e8
  6. 07 10月, 2009 2 次提交
  7. 15 9月, 2009 1 次提交
  8. 24 8月, 2009 1 次提交
    • B
      ipv6: Fix commit 63d9950b (ipv6: Make... · ca6982b8
      Bruno Prémont 提交于
      ipv6: Fix commit 63d9950b (ipv6: Make v4-mapped bindings consistent with IPv4)
      
      Commit 63d9950b
        (ipv6: Make v4-mapped bindings consistent with IPv4)
      changes behavior of inet6_bind() for v4-mapped addresses so it should
      behave the same way as inet_bind().
      
      During this change setting of err to -EADDRNOTAVAIL got lost:
      
      af_inet.c:469 inet_bind()
      	err = -EADDRNOTAVAIL;
      	if (!sysctl_ip_nonlocal_bind &&
      	    !(inet->freebind || inet->transparent) &&
      	    addr->sin_addr.s_addr != htonl(INADDR_ANY) &&
      	    chk_addr_ret != RTN_LOCAL &&
      	    chk_addr_ret != RTN_MULTICAST &&
      	    chk_addr_ret != RTN_BROADCAST)
      		goto out;
      
      
      af_inet6.c:463 inet6_bind()
      	if (addr_type == IPV6_ADDR_MAPPED) {
      		int chk_addr_ret;
      
      		/* Binding to v4-mapped address on a v6-only socket                         
      		 * makes no sense                                                           
      		 */
      		if (np->ipv6only) {
      			err = -EINVAL;
      			goto out; 
      		}
      
      		/* Reproduce AF_INET checks to make the bindings consitant */               
      		v4addr = addr->sin6_addr.s6_addr32[3];                                      
      		chk_addr_ret = inet_addr_type(net, v4addr);                                 
      		if (!sysctl_ip_nonlocal_bind &&                                             
      		    !(inet->freebind || inet->transparent) &&                               
      		    v4addr != htonl(INADDR_ANY) &&
      		    chk_addr_ret != RTN_LOCAL &&                                            
      		    chk_addr_ret != RTN_MULTICAST &&                                        
      		    chk_addr_ret != RTN_BROADCAST)
      			goto out;
      	} else {
      
      
      Signed-off-by Bruno Prémont <bonbons@linux-vserver.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ca6982b8
  9. 13 7月, 2009 1 次提交
  10. 27 6月, 2009 1 次提交
  11. 01 6月, 2009 1 次提交
  12. 27 5月, 2009 1 次提交
  13. 25 3月, 2009 3 次提交
  14. 12 3月, 2009 1 次提交
  15. 10 3月, 2009 1 次提交
  16. 04 3月, 2009 1 次提交
  17. 01 2月, 2009 1 次提交
  18. 30 1月, 2009 1 次提交
    • H
      gro: Avoid copying headers of unmerged packets · 86911732
      Herbert Xu 提交于
      Unfortunately simplicity isn't always the best.  The fraginfo
      interface turned out to be suboptimal.  The problem was quite
      obvious.  For every packet, we have to copy the headers from
      the frags structure into skb->head, even though for 99% of the
      packets this part is immediately thrown away after the merge.
      
      LRO didn't have this problem because it directly read the headers
      from the frags structure.
      
      This patch attempts to address this by creating an interface
      that allows GRO to access the headers in the first frag without
      having to copy it.  Because all drivers that use frags place the
      headers in the first frag this optimisation should be enough.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      86911732
  19. 21 1月, 2009 1 次提交
  20. 09 1月, 2009 1 次提交
  21. 26 11月, 2008 1 次提交
  22. 14 10月, 2008 1 次提交
  23. 09 10月, 2008 2 次提交
  24. 08 10月, 2008 4 次提交
  25. 01 10月, 2008 1 次提交
  26. 28 7月, 2008 1 次提交
    • A
      missing bits of net-namespace / sysctl · eeb61f71
      Al Viro 提交于
      Piss-poor sysctl registration API strikes again, film at 11...
      
      What we really need is _pathname_ required to be present in already
      registered table, so that kernel could warn about bad order.  That's the
      next target for sysctl stuff (and generally saner and more explicit
      order of initialization of ipv[46] internals wouldn't hurt either).
      
      For the time being, here are full fixups required by ..._rotable()
      stuff; we make per-net sysctl sets descendents of "ro" one and make sure
      that sufficient skeleton is there before we start registering per-net
      sysctls.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      eeb61f71
  27. 27 7月, 2008 1 次提交
    • A
      net: missing bits of net-namespace / sysctl · 6f9f489a
      Al Viro 提交于
      Piss-poor sysctl registration API strikes again, film at 11...
      What we really need is _pathname_ required to be present in
      already registered table, so that kernel could warn about bad
      order.  That's the next target for sysctl stuff (and generally
      saner and more explicit order of initialization of ipv[46]
      internals wouldn't hurt either).
      
      For the time being, here are full fixups required by ..._rotable()
      stuff; we make per-net sysctl sets descendents of "ro" one and
      make sure that sufficient skeleton is there before we start registering
      per-net sysctls.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6f9f489a
  28. 26 7月, 2008 2 次提交
  29. 03 7月, 2008 2 次提交