summaryrefslogtreecommitdiffstats
path: root/src/drivers/net
diff options
context:
space:
mode:
authorMichael Brown2023-09-13 17:29:59 +0200
committerMichael Brown2023-09-13 21:23:46 +0200
commitae4e85bde97c9b216736a5087039f3309a628d24 (patch)
tree39d706e2f330bd015d11ce38193c1baeab207cc8 /src/drivers/net
parent[netdevice] Remove netdev_priv() helper function (diff)
downloadipxe-ae4e85bde97c9b216736a5087039f3309a628d24.tar.gz
ipxe-ae4e85bde97c9b216736a5087039f3309a628d24.tar.xz
ipxe-ae4e85bde97c9b216736a5087039f3309a628d24.zip
[netdevice] Allocate private data for each network upper-layer driver
Allow network upper-layer drivers (such as LLDP, which attaches to each network device in order to provide a corresponding LLDP settings block) to specify a size for private data, which will be allocated as part of the network device structure (as with the existing private data allocated for the underlying device driver). This will allow network upper-layer drivers to be simplified by omitting memory allocation and freeing code. If the upper-layer driver requires a reference counter (e.g. for interface initialisation), then it may use the network device's existing reference counter, since this is now the reference counter for the containing block of memory. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net')
-rw-r--r--src/drivers/net/netfront.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/drivers/net/netfront.c b/src/drivers/net/netfront.c
index 90930a5a3..12713c5b4 100644
--- a/src/drivers/net/netfront.c
+++ b/src/drivers/net/netfront.c
@@ -1056,9 +1056,11 @@ struct xen_driver netfront_driver __xen_driver = {
* Inhibit emulated PCI devices
*
* @v netdev Network device
+ * @v priv Private data
* @ret rc Return status code
*/
-static int netfront_net_probe ( struct net_device *netdev ) {
+static int netfront_net_probe ( struct net_device *netdev,
+ void *priv __unused ) {
struct netfront_nic *netfront;
/* Inhibit emulated PCI devices matching an existing netfront device */