Re: questions about network device drivers

From: Abraham vd Merwe (abraham@2d3d.co.za)
Date: Tue Jul 30 2002 - 09:48:53 EST


Hi Alan!

> > hard_start_xmit() method
> > ========================
> >
> > when should this function return 0 and when should it return 1 and in which
> > cases should it do netif_stop_queue() and/or free the dev_kfree_skb() ?
>
> 0 - OK
> 1 - I am busy, give me it later.
>
> If you return 1 be sure to netif_stop_queue. The netif_wake_queue will
> continue transmission

In both cases, should I free the sk_buff structure or only if I return 0?
Also, if I understand you correctly, I should _only_ call netif_stop_queue()
if the function fails to transmit the packet?

What about cases where the packet will always fail, e.g. the frame length is
bigger than what the device supports. I take it in those cases I should
return 0, but should I call netif_stop_queue() as well?

-- 

Regards Abraham

Here there be tygers.

__________________________________________________________ Abraham vd Merwe - 2d3D, Inc.

Device Driver Development, Outsourcing, Embedded Systems

Cell: +27 82 565 4451 Snailmail: Tel: +27 21 761 7549 Block C, Aintree Park Fax: +27 21 761 7648 Doncaster Road Email: abraham@2d3d.co.za Kenilworth, 7700 Http: http://www.2d3d.com South Africa


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Jul 30 2002 - 14:00:37 EST