Lines Matching refs:netdev
229 skb = netdev_alloc_skb(adapter->netdev, pool->buff_size);
232 netdev_dbg(adapter->netdev,
265 adapter->netdev->mtu +
441 netdev_dbg(adapter->netdev, "h_add_logical_lan_buffer failed "
479 netdev_err(adapter->netdev,
488 netdev_err(adapter->netdev,
525 static int ibmveth_open(struct net_device *netdev)
527 struct ibmveth_adapter *adapter = netdev_priv(netdev);
536 netdev_dbg(netdev, "open starting\n");
546 netdev_err(netdev, "unable to allocate list pages\n");
552 netdev_err(netdev, "unable to allocate filter pages\n");
569 netdev_err(netdev, "unable to map buffer list pages\n");
576 netdev_err(netdev, "unable to map filter list pages\n");
580 for (i = 0; i < netdev->real_num_tx_queues; i++) {
589 mac_address = ether_addr_to_u64(netdev->dev_addr);
595 netdev_dbg(netdev, "buffer list @ 0x%p\n", adapter->buffer_list_addr);
596 netdev_dbg(netdev, "filter list @ 0x%p\n", adapter->filter_list_addr);
597 netdev_dbg(netdev, "receive q @ 0x%p\n", adapter->rx_queue.queue_addr);
604 netdev_err(netdev, "h_register_logical_lan failed with %ld\n",
606 netdev_err(netdev, "buffer TCE:0x%llx filter TCE:0x%llx rxq "
620 netdev_err(netdev, "unable to alloc pool\n");
627 netdev_dbg(netdev, "registering irq 0x%x\n", netdev->irq);
628 rc = request_irq(netdev->irq, ibmveth_interrupt, 0, netdev->name,
629 netdev);
631 netdev_err(netdev, "unable to request irq 0x%x, rc %d\n",
632 netdev->irq, rc);
642 netdev_dbg(netdev, "initial replenish cycle\n");
643 ibmveth_interrupt(netdev->irq, netdev);
645 netif_tx_start_all_queues(netdev);
647 netdev_dbg(netdev, "open complete\n");
682 static int ibmveth_close(struct net_device *netdev)
684 struct ibmveth_adapter *adapter = netdev_priv(netdev);
689 netdev_dbg(netdev, "close starting\n");
693 netif_tx_stop_all_queues(netdev);
702 netdev_err(netdev, "h_free_logical_lan failed with %lx, "
706 free_irq(netdev->irq, netdev);
727 for (i = 0; i < netdev->real_num_tx_queues; i++)
730 netdev_dbg(netdev, "close complete\n");
990 static void ibmveth_get_channels(struct net_device *netdev,
994 channels->tx_count = netdev->real_num_tx_queues;
996 channels->max_rx = netdev->real_num_rx_queues;
997 channels->rx_count = netdev->real_num_rx_queues;
1000 static int ibmveth_set_channels(struct net_device *netdev,
1003 struct ibmveth_adapter *adapter = netdev_priv(netdev);
1004 unsigned int old = netdev->real_num_tx_queues,
1011 if (!(netdev->flags & IFF_UP))
1012 return netif_set_real_num_tx_queues(netdev, goal);
1017 netif_tx_stop_all_queues(netdev);
1029 netdev_err(netdev, "Failed to allocate more tx queues, returning to %d queues\n",
1035 rc = netif_set_real_num_tx_queues(netdev, goal);
1037 netdev_err(netdev, "Failed to set real tx queues, returning to %d queues\n",
1048 netif_tx_wake_all_queues(netdev);
1090 netdev_err(adapter->netdev, "tx: h_send_logical_lan failed "
1099 struct net_device *netdev)
1106 if (ether_addr_equal(ether_header->h_dest, netdev->dev_addr)) {
1107 netdev_dbg(netdev, "veth doesn't support loopback packets, dropping packet.\n");
1108 netdev->stats.tx_dropped++;
1116 struct net_device *netdev)
1118 struct ibmveth_adapter *adapter = netdev_priv(netdev);
1124 if (ibmveth_is_packet_unsupported(skb, netdev))
1134 netdev_err(netdev, "tx: failed to checksum packet\n");
1135 netdev->stats.tx_dropped++;
1173 netdev_err(adapter->netdev, "tx: packet size (%u) exceeds ltb (%u)\n",
1175 netdev->stats.tx_dropped++;
1190 netdev_err(adapter->netdev, "tx: incorrect packet len copied into ltb (%u != %u)\n",
1192 netdev->stats.tx_dropped++;
1202 netdev->stats.tx_dropped++;
1204 netdev->stats.tx_packets++;
1205 netdev->stats.tx_bytes += skb->len;
1335 struct net_device *netdev = adapter->netdev;
1348 netdev_dbg(netdev, "recycling invalid buffer\n");
1373 new_skb = netdev_alloc_skb(netdev, length);
1391 skb->protocol = eth_type_trans(skb, netdev);
1402 if ((length > netdev->mtu + ETH_HLEN) ||
1415 netdev->stats.rx_packets++;
1416 netdev->stats.rx_bytes += length;
1446 struct net_device *netdev = dev_instance;
1447 struct ibmveth_adapter *adapter = netdev_priv(netdev);
1459 static void ibmveth_set_multicast_list(struct net_device *netdev)
1461 struct ibmveth_adapter *adapter = netdev_priv(netdev);
1464 if ((netdev->flags & IFF_PROMISC) ||
1465 (netdev_mc_count(netdev) > adapter->mcastFilterSize)) {
1471 netdev_err(netdev, "h_multicast_ctrl rc=%ld when "
1483 netdev_err(netdev, "h_multicast_ctrl rc=%ld when "
1488 netdev_for_each_mc_addr(ha, netdev) {
1496 netdev_err(netdev, "h_multicast_ctrl rc=%ld "
1507 netdev_err(netdev, "h_multicast_ctrl rc=%ld when "
1530 if (netif_running(adapter->netdev)) {
1532 ibmveth_close(adapter->netdev);
1545 return ibmveth_open(adapter->netdev);
1551 if (need_restart && (rc = ibmveth_open(adapter->netdev)))
1575 struct net_device *netdev = dev_get_drvdata(&vdev->dev);
1584 /* netdev inits at probe time along with the structures we need below*/
1585 if (netdev == NULL)
1588 adapter = netdev_priv(netdev);
1591 ret += IOMMU_PAGE_ALIGN(netdev->mtu, tbl);
1624 netdev_err(adapter->netdev, "h_change_logical_lan_mac failed with rc=%d\n", rc);
1652 struct net_device *netdev;
1686 netdev = alloc_etherdev_mqs(sizeof(struct ibmveth_adapter), IBMVETH_MAX_QUEUES, 1);
1687 if (!netdev)
1690 adapter = netdev_priv(netdev);
1691 dev_set_drvdata(&dev->dev, netdev);
1694 adapter->netdev = netdev;
1696 ibmveth_init_link_settings(netdev);
1698 netif_napi_add_weight(netdev, &adapter->napi, ibmveth_poll, 16);
1700 netdev->irq = dev->irq;
1701 netdev->netdev_ops = &ibmveth_netdev_ops;
1702 netdev->ethtool_ops = &netdev_ethtool_ops;
1703 SET_NETDEV_DEV(netdev, &dev->dev);
1704 netdev->hw_features = NETIF_F_SG;
1706 netdev->hw_features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
1710 netdev->features |= netdev->hw_features;
1717 netdev->hw_features |= NETIF_F_TSO | NETIF_F_TSO6;
1718 netdev->features |= netdev->hw_features;
1720 netdev->hw_features |= NETIF_F_TSO;
1726 netdev->hw_features |= NETIF_F_FRAGLIST;
1727 netdev->features |= NETIF_F_FRAGLIST;
1730 netdev->min_mtu = IBMVETH_MIN_MTU;
1731 netdev->max_mtu = ETH_MAX_MTU - IBMVETH_BUFF_OH;
1733 eth_hw_addr_set(netdev, mac_addr_p);
1751 rc = netif_set_real_num_tx_queues(netdev, min(num_online_cpus(),
1754 netdev_dbg(netdev, "failed to set number of tx queues rc=%d\n",
1756 free_netdev(netdev);
1763 netdev_dbg(netdev, "adapter @ 0x%p\n", adapter);
1764 netdev_dbg(netdev, "registering netdev...\n");
1766 ibmveth_set_features(netdev, netdev->features);
1768 rc = register_netdev(netdev);
1771 netdev_dbg(netdev, "failed to register netdev rc=%d\n", rc);
1772 free_netdev(netdev);
1776 netdev_dbg(netdev, "registered\n");
1783 struct net_device *netdev = dev_get_drvdata(&dev->dev);
1784 struct ibmveth_adapter *adapter = netdev_priv(netdev);
1790 unregister_netdev(netdev);
1792 free_netdev(netdev);
1822 struct net_device *netdev = dev_get_drvdata(kobj_to_dev(kobj->parent));
1823 struct ibmveth_adapter *adapter = netdev_priv(netdev);
1829 if (netif_running(netdev)) {
1831 netdev_err(netdev,
1836 ibmveth_close(netdev);
1837 if ((rc = ibmveth_open(netdev)))
1843 int mtu = netdev->mtu + IBMVETH_BUFF_OH;
1857 netdev_err(netdev, "no active pool >= MTU\n");
1861 if (netif_running(netdev)) {
1862 ibmveth_close(netdev);
1864 if ((rc = ibmveth_open(netdev)))
1873 if (netif_running(netdev)) {
1874 ibmveth_close(netdev);
1876 if ((rc = ibmveth_open(netdev)))
1886 if (netif_running(netdev)) {
1887 ibmveth_close(netdev);
1889 if ((rc = ibmveth_open(netdev)))
1898 ibmveth_interrupt(netdev->irq, netdev);
1933 struct net_device *netdev = dev_get_drvdata(dev);
1934 ibmveth_interrupt(netdev->irq, netdev);