Lines Matching refs:netdev
65 static void opa_vnic_get_stats64(struct net_device *netdev, in opa_vnic_get_stats64() argument
68 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_vnic_get_stats64()
73 adapter->rn_ops->ndo_get_stats64(netdev, &vstats.netstats); in opa_vnic_get_stats64()
80 struct net_device *netdev) in opa_netdev_start_xmit() argument
82 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_netdev_start_xmit()
94 return adapter->rn_ops->ndo_start_xmit(skb, netdev); in opa_netdev_start_xmit()
97 static u16 opa_vnic_select_queue(struct net_device *netdev, struct sk_buff *skb, in opa_vnic_select_queue() argument
101 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_vnic_select_queue()
109 rc = adapter->rn_ops->ndo_select_queue(netdev, skb, in opa_vnic_select_queue()
130 netif_dormant_off(adapter->netdev); in opa_vnic_update_state()
132 netif_dormant_on(adapter->netdev); in opa_vnic_update_state()
140 struct rdma_netdev *rn = netdev_priv(adapter->netdev); in opa_vnic_process_vema_config()
142 struct net_device *netdev = adapter->netdev; in opa_vnic_process_vema_config() local
154 eth_commit_mac_addr_change(netdev, &saddr); in opa_vnic_process_vema_config()
160 rn->set_id(netdev, info->vesw.vesw_id); in opa_vnic_process_vema_config()
164 netdev->max_mtu = max_t(unsigned int, info->vesw.eth_mtu, in opa_vnic_process_vema_config()
165 netdev->min_mtu); in opa_vnic_process_vema_config()
166 if (netdev->mtu > netdev->max_mtu) in opa_vnic_process_vema_config()
167 dev_set_mtu(netdev, netdev->max_mtu); in opa_vnic_process_vema_config()
189 opa_vnic_update_state(adapter, !!(netdev->flags & IFF_UP)); in opa_vnic_process_vema_config()
205 static int opa_vnic_set_mac_addr(struct net_device *netdev, void *addr) in opa_vnic_set_mac_addr() argument
207 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_vnic_set_mac_addr()
211 if (!memcmp(netdev->dev_addr, sa->sa_data, ETH_ALEN)) in opa_vnic_set_mac_addr()
215 rc = eth_mac_addr(netdev, addr); in opa_vnic_set_mac_addr()
231 static void opa_vnic_mac_send_event(struct net_device *netdev, u8 event) in opa_vnic_mac_send_event() argument
233 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_vnic_mac_send_event()
241 hw_list = &netdev->uc; in opa_vnic_mac_send_event()
246 hw_list = &netdev->mc; in opa_vnic_mac_send_event()
266 static void opa_vnic_set_rx_mode(struct net_device *netdev) in opa_vnic_set_rx_mode() argument
268 opa_vnic_mac_send_event(netdev, in opa_vnic_set_rx_mode()
271 opa_vnic_mac_send_event(netdev, in opa_vnic_set_rx_mode()
276 static int opa_netdev_open(struct net_device *netdev) in opa_netdev_open() argument
278 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_netdev_open()
281 rc = adapter->rn_ops->ndo_open(adapter->netdev); in opa_netdev_open()
295 static int opa_netdev_close(struct net_device *netdev) in opa_netdev_close() argument
297 struct opa_vnic_adapter *adapter = opa_vnic_priv(netdev); in opa_netdev_close()
300 rc = adapter->rn_ops->ndo_stop(adapter->netdev); in opa_netdev_close()
329 struct net_device *netdev; in opa_vnic_add_netdev() local
333 netdev = ibdev->alloc_rdma_netdev(ibdev, port_num, in opa_vnic_add_netdev()
337 if (!netdev) in opa_vnic_add_netdev()
339 else if (IS_ERR(netdev)) in opa_vnic_add_netdev()
340 return ERR_CAST(netdev); in opa_vnic_add_netdev()
342 rn = netdev_priv(netdev); in opa_vnic_add_netdev()
352 adapter->netdev = netdev; in opa_vnic_add_netdev()
356 adapter->rn_ops = netdev->netdev_ops; in opa_vnic_add_netdev()
358 netdev->netdev_ops = &opa_netdev_ops; in opa_vnic_add_netdev()
359 netdev->priv_flags |= IFF_LIVE_ADDR_CHANGE; in opa_vnic_add_netdev()
360 netdev->hard_header_len += OPA_VNIC_SKB_HEADROOM; in opa_vnic_add_netdev()
365 SET_NETDEV_DEV(netdev, ibdev->dev.parent); in opa_vnic_add_netdev()
367 opa_vnic_set_ethtool_ops(netdev); in opa_vnic_add_netdev()
371 rc = register_netdev(netdev); in opa_vnic_add_netdev()
375 netif_carrier_off(netdev); in opa_vnic_add_netdev()
376 netif_dormant_on(netdev); in opa_vnic_add_netdev()
385 rn->free_rdma_netdev(netdev); in opa_vnic_add_netdev()
393 struct net_device *netdev = adapter->netdev; in opa_vnic_rem_netdev() local
394 struct rdma_netdev *rn = netdev_priv(netdev); in opa_vnic_rem_netdev()
397 unregister_netdev(netdev); in opa_vnic_rem_netdev()
402 rn->free_rdma_netdev(netdev); in opa_vnic_rem_netdev()