1. 12 Jan, 2011 1 commit
  2. 10 Jan, 2011 1 commit
  3. 23 Sep, 2010 1 commit
  4. 26 Aug, 2010 1 commit
  5. 11 Jun, 2010 1 commit
  6. 02 May, 2010 1 commit
  7. 21 Apr, 2010 1 commit
  8. 20 Apr, 2010 1 commit
  9. 26 Dec, 2009 1 commit
  10. 15 Nov, 2009 1 commit
  11. 25 May, 2009 1 commit
  12. 24 Nov, 2008 1 commit
    • Eric Dumazet's avatar
      eth: Declare an optimized compare_ether_addr_64bits() function · 1f87e235
      Eric Dumazet authored
      
      
      Linus mentioned we could try to perform long word operations, even
      on potentially unaligned addresses, on x86 at least. David mentioned
      the HAVE_EFFICIENT_UNALIGNED_ACCESS test to handle this on all
      arches that have efficient unailgned accesses.
      
      I tried this idea and got nice assembly on 32 bits:
      
      158:   33 82 38 01 00 00       xor    0x138(%edx),%eax
      15e:   33 8a 34 01 00 00       xor    0x134(%edx),%ecx
      164:   c1 e0 10                shl    $0x10,%eax
      167:   09 c1                   or     %eax,%ecx
      169:   74 0b                   je     176 <eth_type_trans+0x87>
      
      And very nice assembly on 64 bits of course (one xor, one shl)
      
      Nice oprofile improvement in eth_type_trans(), 0.17 % instead of 0.41 %,
      expected since we remove 8 instructions on a fast path.
      
      This patch implements a compare_ether_addr_64bits() function, that
      uses the CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS ifdef to efficiently
      perform the 6 bytes comparison on all capable arches.
      Signed-off-by: default avatarEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f87e235
  13. 19 Nov, 2008 1 commit
  14. 08 Oct, 2008 2 commits
  15. 20 Sep, 2008 1 commit
  16. 13 Apr, 2008 1 commit
  17. 28 Jan, 2008 1 commit
    • Michael Chan's avatar
      [ETH]: Combine format_addr() with print_mac(). · 7ffc49a6
      Michael Chan authored
      
      
      print_mac() used many most net drivers and format_addr() used by
      net-sysfs.c are very similar and they can be intergrated.
      
      format_addr() is also identically redefined in the qla4xxx iscsi
      driver.
      
      Export a new function sysfs_format_mac() to be used by net-sysfs,
      qla4xxx and others in the future.  Both print_mac() and
      sysfs_format_mac() call _format_mac_addr() to do the formatting.
      
      Changed print_mac() to use unsigned char * to be consistent with
      net_device struct's dev_addr.  Added buffer length overrun checking
      as suggested by Joe Perches.
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7ffc49a6
  18. 23 Oct, 2007 1 commit
  19. 10 Oct, 2007 4 commits
  20. 11 Jul, 2007 1 commit
  21. 10 Jul, 2007 1 commit
  22. 25 Apr, 2007 3 commits
  23. 14 Feb, 2007 1 commit
    • Tim Schmielau's avatar
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau authored
      
      
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: default avatarTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  24. 11 Feb, 2007 1 commit
  25. 02 Dec, 2006 1 commit
  26. 28 Sep, 2006 1 commit
  27. 22 Sep, 2006 2 commits
  28. 30 Jun, 2006 1 commit
  29. 23 Feb, 2006 1 commit
    • Jamal Hadi Salim's avatar
      [NET] ethernet: Fix first packet goes out with MAC 00:00:00:00:00:00 · f8d0e3f1
      Jamal Hadi Salim authored
      
      
      When you turn off ARP on a netdevice then the first packet always goes
      out with a dstMAC of all zeroes. This is because the first packet is
      used to resolve ARP entries. Even though the ARP entry may be resolved
      (I tried by setting a static ARP entry for a host i was pinging from),
      it gets overwritten by virtue of having the netdevice disabling ARP.
      
      Subsequent packets go out fine with correct dstMAC address (which may
      be why people have ignored reporting this issue).
      
      To cut the story short: 
      
      the culprit code is in net/ethernet/eth.c::eth_header()
      
      ----
              /*
               *      Anyway, the loopback-device should never use this
      function...
               */
      
              if (dev->flags & (IFF_LOOPBACK|IFF_NOARP))
              {
                      memset(eth->h_dest, 0, dev->addr_len);
                      return ETH_HLEN;
              }
      
      	if(daddr)
              {
                      memcpy(eth->h_dest,daddr,dev->addr_len);
                      return ETH_HLEN;
              }
      
      ----
      
      Note how the h_dest is being reset when device has IFF_NOARP.
      
      As a note:
      All devices including loopback pass a daddr. loopback in fact passes
      a 0 all the time ;-> 
      This means i can delete the check totaly or i can remove the IFF_NOARP
      
      Alexey says:
      --------------------
      I think, it was me who did this crap. It was so long ago I do not remember
      why it was made.
      
      I remember some troubles with dummy device. It tried to resolve
      addresses, apparently, without success and generated errors instead of
      blackholing. I think the problem was eventually solved at neighbour
      level.
      
      After some thinking I suspect the deletion of this chunk could change
      behaviour of some parts which do not use neighbour cache f.e. packet
      socket.
      
      I think safer approach would be to move this chunk after if (daddr).
      And the possibility to remove this completely could be analyzed later.
      --------------------
      
      Patch updated with Alexey's safer suggestions.
      Signed-off-by: default avatarJamal Hadi Salim <hadi@cyberus.ca>
      Acked-by: default avatarAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f8d0e3f1
  30. 06 Jan, 2006 1 commit
  31. 05 Jan, 2006 1 commit
  32. 28 Oct, 2005 1 commit
  33. 28 Sep, 2005 1 commit