struct net_device_stats *stats = &internal_dev_priv(netdev)->stats;
if (vport) {
- struct odp_vport_stats vport_stats;
+ struct rtnl_link_stats64 vport_stats;
vport_get_stats(vport, &vport_stats);
return 0;
}
-static void internal_dev_free(struct net_device *netdev)
-{
- free_netdev(netdev);
-}
-
static int internal_dev_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
if (dp_ioctl_hook)
netdev->change_mtu = internal_dev_change_mtu;
#endif
- netdev->destructor = internal_dev_free;
+ netdev->destructor = free_netdev;
SET_ETHTOOL_OPS(netdev, &internal_dev_ethtool_ops);
netdev->tx_queue_len = 0;
struct vport *internal_dev_get_vport(struct net_device *netdev)
{
- struct internal_dev *internal_dev = internal_dev_priv(netdev);
+ struct internal_dev *internal_dev;
+
+ if (!is_internal_dev(netdev))
+ return NULL;
+
+ internal_dev = internal_dev_priv(netdev);
return rcu_dereference(internal_dev->attached_vport);
}