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.
This commit is contained in:
Stephen Hemminger 2010-08-02 11:55:30 -07:00
parent 02833d1b38
commit e3d153c1fb
1 changed files with 2 additions and 5 deletions

View File

@ -448,7 +448,6 @@ static int parse_ether_addr(int *argc_p, char ***argv_p,
char **argv = *argv_p;
__u8 addr[6];
int offmask = 0;
__u32 key;
int i;
if (argc < 1)
@ -469,10 +468,8 @@ static int parse_ether_addr(int *argc_p, char ***argv_p,
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;
}