Lines Matching refs:peer
73 struct net_device __rcu *peer; member
199 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_ethtool_stats() local
202 data[0] = peer ? peer->ifindex : 0; in veth_get_ethtool_stats()
221 if (!peer) in veth_get_ethtool_stats()
224 rcv_priv = netdev_priv(peer); in veth_get_ethtool_stats()
225 for (i = 0; i < peer->real_num_rx_queues; i++) { in veth_get_ethtool_stats()
354 rcv = rcu_dereference(priv->peer); in veth_xmit()
433 struct net_device *peer; in veth_get_stats64() local
448 peer = rcu_dereference(priv->peer); in veth_get_stats64()
449 if (peer) { in veth_get_stats64()
450 veth_stats_tx(peer, &packets, &bytes); in veth_get_stats64()
454 veth_stats_rx(&rx, peer); in veth_get_stats64()
478 return rcu_dereference(priv->peer); in veth_peer_dev()
495 rcv = rcu_dereference(priv->peer); in veth_xdp_xmit()
585 rcv = rcu_dereference(priv->peer); in veth_xdp_flush()
1327 struct net_device *peer; in veth_set_xdp_features() local
1329 peer = rtnl_dereference(priv->peer); in veth_set_xdp_features()
1330 if (peer && peer->real_num_tx_queues <= dev->real_num_rx_queues) { in veth_set_xdp_features()
1331 struct veth_priv *priv_peer = netdev_priv(peer); in veth_set_xdp_features()
1336 if (priv_peer->_xdp_prog || veth_gro_requested(peer)) in veth_set_xdp_features()
1351 struct net_device *peer; in veth_set_channels() local
1359 peer = rtnl_dereference(priv->peer); in veth_set_channels()
1360 peer_priv = peer ? netdev_priv(peer) : NULL; in veth_set_channels()
1361 if (priv->_xdp_prog && peer && ch->rx_count < peer->real_num_tx_queues) in veth_set_channels()
1364 if (peer && peer_priv && peer_priv->_xdp_prog && ch->tx_count > peer->real_num_rx_queues) in veth_set_channels()
1372 if (peer) in veth_set_channels()
1373 netif_carrier_off(peer); in veth_set_channels()
1408 if (peer) in veth_set_channels()
1409 netif_carrier_on(peer); in veth_set_channels()
1414 if (peer) in veth_set_channels()
1415 veth_set_xdp_features(peer); in veth_set_channels()
1428 struct net_device *peer = rtnl_dereference(priv->peer); in veth_open() local
1431 if (!peer) in veth_open()
1444 if (peer->flags & IFF_UP) { in veth_open()
1446 netif_carrier_on(peer); in veth_open()
1457 struct net_device *peer = rtnl_dereference(priv->peer); in veth_close() local
1460 if (peer) in veth_close()
1461 netif_carrier_off(peer); in veth_close()
1541 struct net_device *peer; in veth_get_iflink() local
1545 peer = rcu_dereference(priv->peer); in veth_get_iflink()
1546 iflink = peer ? peer->ifindex : 0; in veth_get_iflink()
1556 struct net_device *peer; in veth_fix_features() local
1558 peer = rtnl_dereference(priv->peer); in veth_fix_features()
1559 if (peer) { in veth_fix_features()
1560 struct veth_priv *peer_priv = netdev_priv(peer); in veth_fix_features()
1576 struct net_device *peer; in veth_set_features() local
1582 peer = rtnl_dereference(priv->peer); in veth_set_features()
1588 if (peer) in veth_set_features()
1589 xdp_features_set_redirect_target(peer, true); in veth_set_features()
1591 if (peer) in veth_set_features()
1592 xdp_features_clear_redirect_target(peer); in veth_set_features()
1601 struct net_device *peer; in veth_set_rx_headroom() local
1607 peer = rcu_dereference(priv->peer); in veth_set_rx_headroom()
1608 if (unlikely(!peer)) in veth_set_rx_headroom()
1611 peer_priv = netdev_priv(peer); in veth_set_rx_headroom()
1615 peer->needed_headroom = new_hr; in veth_set_rx_headroom()
1626 struct net_device *peer; in veth_xdp_set() local
1632 peer = rtnl_dereference(priv->peer); in veth_xdp_set()
1635 if (!peer) { in veth_xdp_set()
1642 peer->hard_header_len; in veth_xdp_set()
1649 if (peer->mtu > max_mtu) { in veth_xdp_set()
1655 if (dev->real_num_rx_queues < peer->real_num_tx_queues) { in veth_xdp_set()
1670 peer->hw_features &= ~NETIF_F_GSO_SOFTWARE; in veth_xdp_set()
1671 peer->max_mtu = max_mtu; in veth_xdp_set()
1674 xdp_features_set_redirect_target(peer, true); in veth_xdp_set()
1679 if (peer && !veth_gro_requested(dev)) in veth_xdp_set()
1680 xdp_features_clear_redirect_target(peer); in veth_xdp_set()
1685 if (peer) { in veth_xdp_set()
1686 peer->hw_features |= NETIF_F_GSO_SOFTWARE; in veth_xdp_set()
1687 peer->max_mtu = ETH_MAX_MTU; in veth_xdp_set()
1693 if ((!!old_prog ^ !!prog) && peer) in veth_xdp_set()
1694 netdev_update_features(peer); in veth_xdp_set()
1851 struct net_device *peer; in veth_newlink() local
1893 peer = rtnl_create_link(net, ifname, name_assign_type, in veth_newlink()
1895 if (IS_ERR(peer)) { in veth_newlink()
1897 return PTR_ERR(peer); in veth_newlink()
1901 eth_hw_addr_random(peer); in veth_newlink()
1904 peer->ifindex = ifmp->ifi_index; in veth_newlink()
1906 netif_inherit_tso_max(peer, dev); in veth_newlink()
1908 err = register_netdevice(peer); in veth_newlink()
1917 veth_disable_gro(peer); in veth_newlink()
1918 netif_carrier_off(peer); in veth_newlink()
1920 err = rtnl_configure_link(peer, ifmp, 0, NULL); in veth_newlink()
1950 rcu_assign_pointer(priv->peer, peer); in veth_newlink()
1955 priv = netdev_priv(peer); in veth_newlink()
1956 rcu_assign_pointer(priv->peer, dev); in veth_newlink()
1957 err = veth_init_queues(peer, tb); in veth_newlink()
1964 veth_set_xdp_features(peer); in veth_newlink()
1973 unregister_netdevice(peer); in veth_newlink()
1977 free_netdev(peer); in veth_newlink()
1984 struct net_device *peer; in veth_dellink() local
1987 peer = rtnl_dereference(priv->peer); in veth_dellink()
1993 RCU_INIT_POINTER(priv->peer, NULL); in veth_dellink()
1996 if (peer) { in veth_dellink()
1997 priv = netdev_priv(peer); in veth_dellink()
1998 RCU_INIT_POINTER(priv->peer, NULL); in veth_dellink()
1999 unregister_netdevice_queue(peer, head); in veth_dellink()
2010 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_link_net() local
2012 return peer ? dev_net(peer) : dev_net(dev); in veth_get_link_net()