mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-03 08:14:12 +00:00
net-shapers: implement NL get operation
Introduce the basic infrastructure to implement the net-shaper core functionality. Each network devices carries a net-shaper cache, the NL get() operation fetches the data from such cache. The cache is initially empty, will be fill by the set()/group() operation implemented later and is destroyed at device cleanup time. The net_shaper_fill_handle(), net_shaper_ctx_init(), and net_shaper_generic_pre() implementations handle generic index type attributes, despite the current caller always pass a constant value to avoid more noise in later patches using them with different attributes. Reviewed-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Link: https://patch.msgid.link/ddd10fd645a9367803ad02fca4a5664ea5ace170.1728460186.git.pabeni@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
04e65df94b
commit
4b623f9f0f
@@ -11147,6 +11147,8 @@ struct net_device *alloc_netdev_mqs(int sizeof_priv, const char *name,
|
||||
hash_init(dev->qdisc_hash);
|
||||
#endif
|
||||
|
||||
mutex_init(&dev->lock);
|
||||
|
||||
dev->priv_flags = IFF_XMIT_DST_RELEASE | IFF_XMIT_DST_RELEASE_PERM;
|
||||
setup(dev);
|
||||
|
||||
@@ -11217,6 +11219,8 @@ void free_netdev(struct net_device *dev)
|
||||
return;
|
||||
}
|
||||
|
||||
mutex_destroy(&dev->lock);
|
||||
|
||||
kfree(dev->ethtool);
|
||||
netif_free_tx_queues(dev);
|
||||
netif_free_rx_queues(dev);
|
||||
@@ -11426,6 +11430,8 @@ void unregister_netdevice_many_notify(struct list_head *head,
|
||||
|
||||
mutex_destroy(&dev->ethtool->rss_lock);
|
||||
|
||||
net_shaper_flush_netdev(dev);
|
||||
|
||||
if (skb)
|
||||
rtmsg_ifinfo_send(skb, dev, GFP_KERNEL, portid, nlh);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user