mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
netdev: convert loopback to net_device_ops
First device to convert over is the loopback device. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ccad637b0c
commit
c02373bf27
1 changed files with 8 additions and 4 deletions
|
@ -87,7 +87,7 @@ static int loopback_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct net_device_stats *get_stats(struct net_device *dev)
|
static struct net_device_stats *loopback_get_stats(struct net_device *dev)
|
||||||
{
|
{
|
||||||
const struct pcpu_lstats *pcpu_lstats;
|
const struct pcpu_lstats *pcpu_lstats;
|
||||||
struct net_device_stats *stats = &dev->stats;
|
struct net_device_stats *stats = &dev->stats;
|
||||||
|
@ -143,13 +143,17 @@ static void loopback_dev_free(struct net_device *dev)
|
||||||
free_netdev(dev);
|
free_netdev(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct net_device_ops loopback_ops = {
|
||||||
|
.ndo_init = loopback_dev_init,
|
||||||
|
.ndo_get_stats = loopback_get_stats,
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The loopback device is special. There is only one instance
|
* The loopback device is special. There is only one instance
|
||||||
* per network namespace.
|
* per network namespace.
|
||||||
*/
|
*/
|
||||||
static void loopback_setup(struct net_device *dev)
|
static void loopback_setup(struct net_device *dev)
|
||||||
{
|
{
|
||||||
dev->get_stats = &get_stats;
|
|
||||||
dev->mtu = (16 * 1024) + 20 + 20 + 12;
|
dev->mtu = (16 * 1024) + 20 + 20 + 12;
|
||||||
dev->hard_start_xmit = loopback_xmit;
|
dev->hard_start_xmit = loopback_xmit;
|
||||||
dev->hard_header_len = ETH_HLEN; /* 14 */
|
dev->hard_header_len = ETH_HLEN; /* 14 */
|
||||||
|
@ -165,8 +169,8 @@ static void loopback_setup(struct net_device *dev)
|
||||||
| NETIF_F_NETNS_LOCAL;
|
| NETIF_F_NETNS_LOCAL;
|
||||||
dev->ethtool_ops = &loopback_ethtool_ops;
|
dev->ethtool_ops = &loopback_ethtool_ops;
|
||||||
dev->header_ops = ð_header_ops;
|
dev->header_ops = ð_header_ops;
|
||||||
dev->init = loopback_dev_init;
|
dev->netdev_ops = &loopback_ops;
|
||||||
dev->destructor = loopback_dev_free;
|
dev->destructor = loopback_dev_free;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Setup and register the loopback device. */
|
/* Setup and register the loopback device. */
|
||||||
|
|
Loading…
Reference in a new issue