Re: questions about network device drivers

Abraham vd Merwe
2002-07-30T14:41:42Z

[-- Attachment #1: Type: text/plain, Size: 1268 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]