Re: questions about network device drivers

Abraham vd Merwe (abraham@2d3d.co.za)
Tue, 30 Jul 2002 16:48:53 +0200


--AqsLC8rIMeq19msA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Alan!

> > hard_start_xmit() method
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >=20
> > when should this function return 0 and when should it return 1 and in w=
hich
> > cases should it do netif_stop_queue() and/or free the dev_kfree_skb() ?
>=20
> 0 - OK
> 1 - I am busy, give me it later.
>=20
> 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?

--=20

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

--AqsLC8rIMeq19msA
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9RqdVzNXhP0RCUqMRAmY/AJwN/ucKgpSjM0KAyiDTvravXS6mHgCginBw
WzXVSwpiQhGcAib8akpy/ok=
=HbwZ
-----END PGP SIGNATURE-----

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