struct net_device *alloc_etherdev(int sizeof_priv);
This function allocates a network device using eth%d for the name argument. It provides its own initialization function (ether_setup) that sets several net_device fields with appropriate values for Ethernet devices.