[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(usagi-users 00988) Problem with USAGI on Linux ARM



 Hello. I've run into what seems to be a problem with the USAGI stack running
on the ARM CPU. The setup is as follows:

1 PC running 2.4.7 with linux24-2.4.7-usagi-20010816.patch applied 

1 ARM system running 2.4.7 with linux24-2.4.7-usagi-20010816.patch and rmk-3 

 The PC has MAC address 00:60:97:CF:F0:99 and the ARM box is 00:20:2b:00:54:30

 I send a few pings from each machine and then do a 'cat /proc/net/ndisc'.  On
the PC I get:

fe8000000000000002202bfffe005430 0b 80 01 04 00001c04 00001c04 00000fb7 1770
0001 0002     eth0 00202b005430

which is correct, but on the ARM side I see 

fe80000000000000026097fffecff099 10 80 01 04 00010588 00010588 0000117b 1770
0001 0002     eth0 97cff0991819
 
 the MAC address is the last 4 bytes of the PC's MAC address, followed by two
bytes of garbage. Anything I try to send from the ARM system to the PC goes out
to that H/W address.

 The looks like a problem with gcc/ARM padding structures differently from
gcc/i386 (the ARM works better with aligned quantities, so the compiler is more
likely to insert padding), but I haven't been able to diagnose it further. I
believe that it isn't a compile bug, since the default IPv6 support in 2.4.7
behaves correctly. 

 Has anyone seen a problem like this before? Is the fix known? Thank you.

                                        Guido



-- 
Guido Barzini   gnb@xxxxxxxxxx