Lines Matching refs:net
85 static void netvsc_set_multicast_list(struct net_device *net) in netvsc_set_multicast_list() argument
87 struct net_device_context *net_device_ctx = netdev_priv(net); in netvsc_set_multicast_list()
92 static int netvsc_open(struct net_device *net) in netvsc_open() argument
94 struct net_device_context *net_device_ctx = netdev_priv(net); in netvsc_open()
100 netif_carrier_off(net); in netvsc_open()
105 netdev_err(net, "unable to open device (ret %d).\n", ret); in netvsc_open()
109 netif_tx_wake_all_queues(net); in netvsc_open()
114 netif_carrier_on(net); in netvsc_open()
119 static int netvsc_close(struct net_device *net) in netvsc_close() argument
121 struct net_device_context *net_device_ctx = netdev_priv(net); in netvsc_close()
128 netif_tx_disable(net); in netvsc_close()
134 netdev_err(net, "unable to close device (ret %d).\n", ret); in netvsc_close()
170 netdev_err(net, "Ring buffer not empty after closing rndis\n"); in netvsc_close()
417 static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) in netvsc_start_xmit() argument
419 struct net_device_context *net_device_ctx = netdev_priv(net); in netvsc_start_xmit()
467 netdev_err(net, "unable to alloc hv_netvsc_packet\n"); in netvsc_start_xmit()
509 if (hash != 0 && net->real_num_tx_queues > 1) { in netvsc_start_xmit()
633 net->stats.tx_dropped++; in netvsc_start_xmit()
647 struct net_device *net; in netvsc_linkstatus_callback() local
669 net = net_device->ndev; in netvsc_linkstatus_callback()
671 if (!net || net->reg_state != NETREG_REGISTERED) in netvsc_linkstatus_callback()
674 ndev_ctx = netdev_priv(net); in netvsc_linkstatus_callback()
691 struct net_device *net; in netvsc_recv_callback() local
696 net = ((struct netvsc_device *)hv_get_drvdata(device_obj))->ndev; in netvsc_recv_callback()
697 if (!net || net->reg_state != NETREG_REGISTERED) { in netvsc_recv_callback()
701 net_device_ctx = netdev_priv(net); in netvsc_recv_callback()
705 skb = netdev_alloc_skb_ip_align(net, packet->total_data_buflen); in netvsc_recv_callback()
707 ++net->stats.rx_dropped; in netvsc_recv_callback()
719 skb->protocol = eth_type_trans(skb, net); in netvsc_recv_callback()
753 static void netvsc_get_drvinfo(struct net_device *net, in netvsc_get_drvinfo() argument
760 static void netvsc_get_channels(struct net_device *net, in netvsc_get_channels() argument
763 struct net_device_context *net_device_ctx = netdev_priv(net); in netvsc_get_channels()
773 static int netvsc_set_channels(struct net_device *net, in netvsc_set_channels() argument
776 struct net_device_context *net_device_ctx = netdev_priv(net); in netvsc_set_channels()
809 ret = netvsc_close(net); in netvsc_set_channels()
820 hv_set_drvdata(dev, net); in netvsc_set_channels()
830 netdev_err(net, "unable to add netvsc device (ret %d)\n", ret); in netvsc_set_channels()
838 ret = netif_set_real_num_tx_queues(net, nvdev->num_chn); in netvsc_set_channels()
841 netdev_err(net, "could not set tx queue count (ret %d)\n", ret); in netvsc_set_channels()
847 ret = netif_set_real_num_rx_queues(net, nvdev->num_chn); in netvsc_set_channels()
850 netdev_err(net, "could not set rx queue count (ret %d)\n", ret); in netvsc_set_channels()
857 netvsc_open(net); in netvsc_set_channels()
865 netdev_err(net, "could not set channels, recovering\n"); in netvsc_set_channels()
913 static struct rtnl_link_stats64 *netvsc_get_stats64(struct net_device *net, in netvsc_get_stats64() argument
916 struct net_device_context *ndev_ctx = netdev_priv(net); in netvsc_get_stats64()
945 t->tx_dropped = net->stats.tx_dropped; in netvsc_get_stats64()
946 t->tx_errors = net->stats.tx_dropped; in netvsc_get_stats64()
948 t->rx_dropped = net->stats.rx_dropped; in netvsc_get_stats64()
949 t->rx_errors = net->stats.rx_errors; in netvsc_get_stats64()
981 static void netvsc_poll_controller(struct net_device *net) in netvsc_poll_controller() argument
1022 struct net_device *net; in netvsc_link_change() local
1034 net = net_device->ndev; in netvsc_link_change()
1037 netif_carrier_off(net); in netvsc_link_change()
1040 netif_carrier_on(net); in netvsc_link_change()
1054 netdev_notify_peers(net); in netvsc_link_change()
1069 struct net_device *net = NULL; in netvsc_probe() local
1076 net = alloc_etherdev_mq(sizeof(struct net_device_context), in netvsc_probe()
1078 if (!net) in netvsc_probe()
1084 netif_carrier_off(net); in netvsc_probe()
1086 net_device_ctx = netdev_priv(net); in netvsc_probe()
1090 netdev_dbg(net, "netvsc msg_enable: %d\n", in netvsc_probe()
1095 free_netdev(net); in netvsc_probe()
1101 free_netdev(net); in netvsc_probe()
1105 hv_set_drvdata(dev, net); in netvsc_probe()
1109 net->netdev_ops = &device_ops; in netvsc_probe()
1111 net->hw_features = NETIF_F_RXCSUM | NETIF_F_SG | NETIF_F_IP_CSUM | in netvsc_probe()
1113 net->features = NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_SG | NETIF_F_RXCSUM | in netvsc_probe()
1116 net->ethtool_ops = ðtool_ops; in netvsc_probe()
1117 SET_NETDEV_DEV(net, &dev->device); in netvsc_probe()
1124 net->needed_headroom = max_needed_headroom; in netvsc_probe()
1132 netdev_err(net, "unable to add netvsc device (ret %d)\n", ret); in netvsc_probe()
1133 netvsc_free_netdev(net); in netvsc_probe()
1137 memcpy(net->dev_addr, device_info.mac_adr, ETH_ALEN); in netvsc_probe()
1140 netif_set_real_num_tx_queues(net, nvdev->num_chn); in netvsc_probe()
1141 netif_set_real_num_rx_queues(net, nvdev->num_chn); in netvsc_probe()
1143 ret = register_netdev(net); in netvsc_probe()
1147 netvsc_free_netdev(net); in netvsc_probe()
1157 struct net_device *net; in netvsc_remove() local
1162 net = net_device->ndev; in netvsc_remove()
1164 if (net == NULL) { in netvsc_remove()
1171 ndev_ctx = netdev_priv(net); in netvsc_remove()
1176 netif_tx_disable(net); in netvsc_remove()
1178 unregister_netdev(net); in netvsc_remove()
1186 netvsc_free_netdev(net); in netvsc_remove()