Hi
In the rx function (boomerang_rx()) of my ethernet driver (3c59x.c, 2.4.3), I need to do some operations on incoming packets before sending them to the stack. In order not to do it in interrupt context, would something like this work:
In boomerang_rx(), I thought to try
queue_task(&skb_task, &tq_immediate);
mark_bh(IMMEDIATE_BH);
instead of calling
skb->protocol = eth_type_trans(skb, dev);
netif_rx(skb);
then I call the above two lines from my task function check_skb_buff() after I have done what I need to do.
What is the correct way to do this kind of thing? If not, how should I go about this?
Also specifically in the boomerang_rx(), how would I take care to run the code that appears after netif_rx(), were I to implement the above suggestion?
TIA
Roger
Do You Yahoo!?
Get email alerts & NEW webcam video instant messaging with Yahoo! Messenger.