Fix byte order of ether address match for u32
The u32 key match was incorrect byte order when using ether source
or destination address matching.
diff --git a/tc/f_u32.c b/tc/f_u32.c
index 31e13b5..d9d4091 100644
--- a/tc/f_u32.c
+++ b/tc/f_u32.c
@@ -448,7 +448,6 @@
char **argv = *argv_p;
__u8 addr[6];
int offmask = 0;
- __u32 key;
int i;
if (argc < 1)
@@ -469,10 +468,8 @@
return -1;
}
- for (i = 0; i < 6; i += 2) {
- key = *(__u16 *) (addr + i);
-
- res = pack_key16(sel, key, 0xFFFF, off + i, offmask);
+ for (i = 0; i < 6; i++) {
+ res = pack_key8(sel, addr[i], 0xFF, off + i, offmask);
if (res < 0)
return -1;
}