1. 11 7月, 2007 11 次提交
  2. 14 6月, 2007 2 次提交
  3. 09 6月, 2007 2 次提交
  4. 08 6月, 2007 4 次提交
  5. 04 6月, 2007 1 次提交
  6. 31 5月, 2007 3 次提交
  7. 25 5月, 2007 1 次提交
    • D
      [XFRM]: Allow packet drops during larval state resolution. · 14e50e57
      David S. Miller 提交于
      The current IPSEC rule resolution behavior we have does not work for a
      lot of people, even though technically it's an improvement from the
      -EAGAIN buisness we had before.
      
      Right now we'll block until the key manager resolves the route.  That
      works for simple cases, but many folks would rather packets get
      silently dropped until the key manager resolves the IPSEC rules.
      
      We can't tell these folks to "set the socket non-blocking" because
      they don't have control over the non-block setting of things like the
      sockets used to resolve DNS deep inside of the resolver libraries in
      libc.
      
      With that in mind I coded up the patch below with some help from
      Herbert Xu which provides packet-drop behavior during larval state
      resolution, controllable via sysctl and off by default.
      
      This lays the framework to either:
      
      1) Make this default at some point or...
      
      2) Move this logic into xfrm{4,6}_policy.c and implement the
         ARP-like resolution queue we've all been dreaming of.
         The idea would be to queue packets to the policy, then
         once the larval state is resolved by the key manager we
         re-resolve the route and push the packets out.  The
         packets would timeout if the rule didn't get resolved
         in a certain amount of time.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      14e50e57
  8. 24 5月, 2007 1 次提交
  9. 11 5月, 2007 4 次提交
  10. 09 5月, 2007 2 次提交
  11. 08 5月, 2007 1 次提交
  12. 06 5月, 2007 1 次提交
  13. 05 5月, 2007 5 次提交
  14. 04 5月, 2007 1 次提交
    • E
      [IPV6]: Some cleanups in include/net/ipv6.h · db3459d1
      Eric Dumazet 提交于
      1) struct ip6_flowlabel : moves 'users' field to avoid two 32bits
         holes for 64bit arches. Shrinks by 8 bytes sizeof(struct
         ip6_flowlabel)
      
      2) ipv6_addr_cmp() and ipv6_addr_copy() dont need (void *) casts :
         Compiler might take into account natural alignement of in6_addr
         structs to emit better code for memcpy()/memcmp() Casts to (void *)
         force byte accesses.
      
      3) ipv6_addr_prefix() optimization :
      
      Better to clear whole struct, as compiler can emit better code for
      memset(addr, 0, 16) (2 stores on x86_64), and avoid some conditional
      branches.
      
      # size vmlinux.after vmlinux.before
         text    data     bss     dec     hex filename
      5262262  647612  557432 6467306  62aeea vmlinux.after
      5262550  647612  557432 6467594  62b00a vmlinux.before
      
      thats 288 bytes saved.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db3459d1
  15. 03 5月, 2007 1 次提交