Port-ofppc archive

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

Ethernet driver bug?



Hi, All!

I'm continuing to start ofppc port of NetBSD on MPC8260.

I'm deal with erratic NFS behavior, and as I suppose, there is a bug in the implementation of the Ethernet driver (function ether_input, file /net/if_ether_subr.c) Sometimes software interrupt, responsible for processing IP-queue of IP-stack (ip_intr() function) is called BEFORE than packet is really placed into IP-queue ("ipintrq" variable). As a result, the packet will be processed only when the next packet arrives.

I suppose that such behavior is tied with the specificity of the call of read function of the "ofnet" driver. It is called with assistance of callout mechinism. Probably, the current interrupt priority level lets software interrupt to occur (unlike calling the read function from hardware interrupt).

I’ve changed the order of actions. At first I’ve putted packet into IP-queue, and then set interrupt request. The error has disappeared.

So, I want to know you opinion about the problem.



Home | Main Index | Thread Index | Old Index