}
+static const struct net_device_ops ifb_netdev_ops = {
+ .ndo_validate_addr = eth_validate_addr,
+ .ndo_open = ifb_open,
+ .ndo_stop = ifb_close,
+};
+
static void ifb_setup(struct net_device *dev)
{
/* Initialize the device structure. */
dev->hard_start_xmit = ifb_xmit;
- dev->open = &ifb_open;
- dev->stop = &ifb_close;
dev->destructor = free_netdev;
+ dev->netdev_ops = &ifb_netdev_ops;
/* Fill in device structure with ethernet-generic values. */
ether_setup(dev);
dev->tx_queue_len = TX_Q_LIMIT;
- dev->change_mtu = NULL;
+
dev->flags |= IFF_NOARP;
dev->flags &= ~IFF_MULTICAST;
random_ether_addr(dev->dev_addr);