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

Re: [microblaze-uclinux] Questions about the Ethernet interface



Hi Peter,

I think I've found the problem - for some reason, when the 
xemac_intr_fifo handler calls the packet FIFO functions (contained in 
arch/microblaze/xilinx_ocp/*) - an extra 32 zero bits are attached to 
the start of the data (and the packet length is also out by 4)

so, in an ethernet packet, instead of the first 48 bits being 
destination MAC address, I get 32 bits of zeros, then 48 bits of MAC 
address, and so on.  so, the whole packet is shifted by 32 bits, then of 
course nothing works, ip headers are all wrong and so on - linux follows 
some RFC which says that malformed packets are to be silently ignored.

i lifted the xilinx_ocp directory straight from the PPC-dev tree, a 
couple of months ago now.  do you know of any issues with the IPIF 
packet fifo routines that might have been fixed since then?

it's trivial for me to simply eat those extra 32 bits with an skb_pull() 
call in the driver, but it's not a clean solution.

I'm just doing some tests now, but i expect this should be flying very 
very soon.

John

___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/