Backout the 2.4 utsname hash patch.
diff --git a/ChangeLog b/ChangeLog
index 27d4c1b..3590a64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-03-21 Stephen Hemminger <shemminger@freekitty.pdx.osdl.net>
+
+ * Back out the 2.4 utsname patch
+
2006-03-21 James Lentini <jlentini@netapp.com>
* Increase size of hw address allowed for ip neigh to allow
diff --git a/tc/f_u32.c b/tc/f_u32.c
index 243088e..9d527fc 100644
--- a/tc/f_u32.c
+++ b/tc/f_u32.c
@@ -17,7 +17,6 @@
#include <syslog.h>
#include <fcntl.h>
#include <sys/socket.h>
-#include <sys/utsname.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
@@ -877,7 +876,7 @@
} else if (strcmp(*argv, "sample") == 0) {
__u32 hash;
unsigned divisor = 0x100;
- struct utsname utsname;
+
struct {
struct tc_u32_sel sel;
struct tc_u32_key keys[4];
@@ -902,19 +901,8 @@
NEXT_ARG();
}
hash = sel2.sel.keys[0].val&sel2.sel.keys[0].mask;
- uname(&utsname);
- if (strncmp(utsname.release, "2.4.", 4) == 0) {
- hash ^= hash>>16;
- hash ^= hash>>8;
- }
- else {
- __u32 mask = sel2.sel.keys[0].mask;
- while (mask && !(mask & 1)) {
- mask >>= 1;
- hash >>= 1;
- }
- hash &= 0xFF;
- }
+ hash ^= hash>>16;
+ hash ^= hash>>8;
htid = ((hash%divisor)<<12)|(htid&0xFFF00000);
sample_ok = 1;
continue;