[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/