Lines Matching refs:peer
75 struct net_device __rcu *peer; member
201 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_ethtool_stats() local
204 data[0] = peer ? peer->ifindex : 0; in veth_get_ethtool_stats()
223 if (!peer) in veth_get_ethtool_stats()
226 rcv_priv = netdev_priv(peer); in veth_get_ethtool_stats()
227 for (i = 0; i < peer->real_num_rx_queues; i++) { in veth_get_ethtool_stats()
354 rcv = rcu_dereference(priv->peer); in veth_xmit()
453 struct net_device *peer; in veth_get_stats64() local
466 peer = rcu_dereference(priv->peer); in veth_get_stats64()
467 if (peer) { in veth_get_stats64()
470 dev_fetch_sw_netstats(&tot_peer, peer->tstats); in veth_get_stats64()
474 veth_stats_rx(&rx, peer); in veth_get_stats64()
498 return rcu_dereference(priv->peer); in veth_peer_dev()
515 rcv = rcu_dereference(priv->peer); in veth_xdp_xmit()
605 rcv = rcu_dereference(priv->peer); in veth_xdp_flush()
911 peer_dev = rcu_dereference_check(priv->peer, rcu_read_lock_bh_held()); in veth_xdp_rcv()
1278 struct net_device *peer; in veth_set_xdp_features() local
1280 peer = rtnl_dereference(priv->peer); in veth_set_xdp_features()
1281 if (peer && peer->real_num_tx_queues <= dev->real_num_rx_queues) { in veth_set_xdp_features()
1282 struct veth_priv *priv_peer = netdev_priv(peer); in veth_set_xdp_features()
1287 if (priv_peer->_xdp_prog || veth_gro_requested(peer)) in veth_set_xdp_features()
1302 struct net_device *peer; in veth_set_channels() local
1310 peer = rtnl_dereference(priv->peer); in veth_set_channels()
1311 peer_priv = peer ? netdev_priv(peer) : NULL; in veth_set_channels()
1312 if (priv->_xdp_prog && peer && ch->rx_count < peer->real_num_tx_queues) in veth_set_channels()
1315 if (peer && peer_priv && peer_priv->_xdp_prog && ch->tx_count > peer->real_num_rx_queues) in veth_set_channels()
1323 if (peer) in veth_set_channels()
1324 netif_carrier_off(peer); in veth_set_channels()
1359 if (peer) in veth_set_channels()
1360 netif_carrier_on(peer); in veth_set_channels()
1365 if (peer) in veth_set_channels()
1366 veth_set_xdp_features(peer); in veth_set_channels()
1379 struct net_device *peer = rtnl_dereference(priv->peer); in veth_open() local
1382 if (!peer) in veth_open()
1395 if (peer->flags & IFF_UP) { in veth_open()
1397 netif_carrier_on(peer); in veth_open()
1408 struct net_device *peer = rtnl_dereference(priv->peer); in veth_close() local
1411 if (peer) in veth_close()
1412 netif_carrier_off(peer); in veth_close()
1481 struct net_device *peer; in veth_get_iflink() local
1485 peer = rcu_dereference(priv->peer); in veth_get_iflink()
1486 iflink = peer ? READ_ONCE(peer->ifindex) : 0; in veth_get_iflink()
1496 struct net_device *peer; in veth_fix_features() local
1498 peer = rtnl_dereference(priv->peer); in veth_fix_features()
1499 if (peer) { in veth_fix_features()
1500 struct veth_priv *peer_priv = netdev_priv(peer); in veth_fix_features()
1514 struct net_device *peer; in veth_set_features() local
1520 peer = rtnl_dereference(priv->peer); in veth_set_features()
1526 if (peer) in veth_set_features()
1527 xdp_features_set_redirect_target(peer, true); in veth_set_features()
1529 if (peer) in veth_set_features()
1530 xdp_features_clear_redirect_target(peer); in veth_set_features()
1539 struct net_device *peer; in veth_set_rx_headroom() local
1545 peer = rcu_dereference(priv->peer); in veth_set_rx_headroom()
1546 if (unlikely(!peer)) in veth_set_rx_headroom()
1549 peer_priv = netdev_priv(peer); in veth_set_rx_headroom()
1553 peer->needed_headroom = new_hr; in veth_set_rx_headroom()
1564 struct net_device *peer; in veth_xdp_set() local
1570 peer = rtnl_dereference(priv->peer); in veth_xdp_set()
1573 if (!peer) { in veth_xdp_set()
1580 peer->hard_header_len; in veth_xdp_set()
1587 if (peer->mtu > max_mtu) { in veth_xdp_set()
1593 if (dev->real_num_rx_queues < peer->real_num_tx_queues) { in veth_xdp_set()
1608 peer->hw_features &= ~NETIF_F_GSO_SOFTWARE; in veth_xdp_set()
1609 peer->max_mtu = max_mtu; in veth_xdp_set()
1612 xdp_features_set_redirect_target(peer, true); in veth_xdp_set()
1617 if (peer && !veth_gro_requested(dev)) in veth_xdp_set()
1618 xdp_features_clear_redirect_target(peer); in veth_xdp_set()
1623 if (peer) { in veth_xdp_set()
1624 peer->hw_features |= NETIF_F_GSO_SOFTWARE; in veth_xdp_set()
1625 peer->max_mtu = ETH_MAX_MTU; in veth_xdp_set()
1631 if ((!!old_prog ^ !!prog) && peer) in veth_xdp_set()
1632 netdev_update_features(peer); in veth_xdp_set()
1813 struct net_device *peer; in veth_newlink() local
1842 peer = rtnl_create_link(peer_net, ifname, name_assign_type, in veth_newlink()
1844 if (IS_ERR(peer)) in veth_newlink()
1845 return PTR_ERR(peer); in veth_newlink()
1848 eth_hw_addr_random(peer); in veth_newlink()
1851 peer->ifindex = ifmp->ifi_index; in veth_newlink()
1853 netif_inherit_tso_max(peer, dev); in veth_newlink()
1855 err = register_netdevice(peer); in veth_newlink()
1862 veth_disable_gro(peer); in veth_newlink()
1863 netif_carrier_off(peer); in veth_newlink()
1865 err = rtnl_configure_link(peer, ifmp, 0, NULL); in veth_newlink()
1895 rcu_assign_pointer(priv->peer, peer); in veth_newlink()
1900 priv = netdev_priv(peer); in veth_newlink()
1901 rcu_assign_pointer(priv->peer, dev); in veth_newlink()
1902 err = veth_init_queues(peer, tb); in veth_newlink()
1909 veth_set_xdp_features(peer); in veth_newlink()
1918 unregister_netdevice(peer); in veth_newlink()
1922 free_netdev(peer); in veth_newlink()
1929 struct net_device *peer; in veth_dellink() local
1932 peer = rtnl_dereference(priv->peer); in veth_dellink()
1938 RCU_INIT_POINTER(priv->peer, NULL); in veth_dellink()
1941 if (peer) { in veth_dellink()
1942 priv = netdev_priv(peer); in veth_dellink()
1943 RCU_INIT_POINTER(priv->peer, NULL); in veth_dellink()
1944 unregister_netdevice_queue(peer, head); in veth_dellink()
1955 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_link_net() local
1957 return peer ? dev_net(peer) : dev_net(dev); in veth_get_link_net()