• Home
  • Raw
  • Download

Lines Matching full:peer

69 	struct net_device __rcu	*peer;  member
178 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_ethtool_stats() local
181 data[0] = peer ? peer->ifindex : 0; in veth_get_ethtool_stats()
199 if (!peer) in veth_get_ethtool_stats()
202 rcv_priv = netdev_priv(peer); in veth_get_ethtool_stats()
203 for (i = 0; i < peer->real_num_rx_queues; i++) { in veth_get_ethtool_stats()
293 rcv = rcu_dereference(priv->peer); in veth_xmit()
366 struct net_device *peer; in veth_get_stats64() local
381 peer = rcu_dereference(priv->peer); in veth_get_stats64()
382 if (peer) { in veth_get_stats64()
383 veth_stats_tx(peer, &packets, &bytes); in veth_get_stats64()
387 veth_stats_rx(&rx, peer); in veth_get_stats64()
426 return rcu_dereference(priv->peer); in veth_peer_dev()
443 rcv = rcu_dereference(priv->peer); in veth_xdp_xmit()
450 * side. This means an XDP program is loaded on the peer and the peer in veth_xdp_xmit()
532 rcv = rcu_dereference(priv->peer); in veth_xdp_flush()
979 struct net_device *peer = rtnl_dereference(priv->peer); in veth_open() local
982 if (!peer) in veth_open()
991 if (peer->flags & IFF_UP) { in veth_open()
993 netif_carrier_on(peer); in veth_open()
1002 struct net_device *peer = rtnl_dereference(priv->peer); in veth_close() local
1005 if (peer) in veth_close()
1006 netif_carrier_off(peer); in veth_close()
1069 /* veth only receives frames when its peer sends one in veth_poll_controller()
1084 struct net_device *peer; in veth_get_iflink() local
1088 peer = rcu_dereference(priv->peer); in veth_get_iflink()
1089 iflink = peer ? peer->ifindex : 0; in veth_get_iflink()
1099 struct net_device *peer; in veth_fix_features() local
1101 peer = rtnl_dereference(priv->peer); in veth_fix_features()
1102 if (peer) { in veth_fix_features()
1103 struct veth_priv *peer_priv = netdev_priv(peer); in veth_fix_features()
1115 struct net_device *peer; in veth_set_rx_headroom() local
1121 peer = rcu_dereference(priv->peer); in veth_set_rx_headroom()
1122 if (unlikely(!peer)) in veth_set_rx_headroom()
1125 peer_priv = netdev_priv(peer); in veth_set_rx_headroom()
1129 peer->needed_headroom = new_hr; in veth_set_rx_headroom()
1140 struct net_device *peer; in veth_xdp_set() local
1146 peer = rtnl_dereference(priv->peer); in veth_xdp_set()
1149 if (!peer) { in veth_xdp_set()
1150 NL_SET_ERR_MSG_MOD(extack, "Cannot set XDP when peer is detached"); in veth_xdp_set()
1156 peer->hard_header_len - in veth_xdp_set()
1158 if (peer->mtu > max_mtu) { in veth_xdp_set()
1159 NL_SET_ERR_MSG_MOD(extack, "Peer MTU is too large to set XDP"); in veth_xdp_set()
1164 if (dev->real_num_rx_queues < peer->real_num_tx_queues) { in veth_xdp_set()
1165 NL_SET_ERR_MSG_MOD(extack, "XDP expects number of rx queues not less than peer tx queues"); in veth_xdp_set()
1179 peer->hw_features &= ~NETIF_F_GSO_SOFTWARE; in veth_xdp_set()
1180 peer->max_mtu = max_mtu; in veth_xdp_set()
1189 if (peer) { in veth_xdp_set()
1190 peer->hw_features |= NETIF_F_GSO_SOFTWARE; in veth_xdp_set()
1191 peer->max_mtu = ETH_MAX_MTU; in veth_xdp_set()
1197 if ((!!old_prog ^ !!prog) && peer) in veth_xdp_set()
1198 netdev_update_features(peer); in veth_xdp_set()
1297 struct net_device *peer; in veth_newlink() local
1306 * create and register peer first in veth_newlink()
1342 peer = rtnl_create_link(net, ifname, name_assign_type, in veth_newlink()
1344 if (IS_ERR(peer)) { in veth_newlink()
1346 return PTR_ERR(peer); in veth_newlink()
1350 eth_hw_addr_random(peer); in veth_newlink()
1353 peer->ifindex = ifmp->ifi_index; in veth_newlink()
1355 peer->gso_max_size = dev->gso_max_size; in veth_newlink()
1356 peer->gso_max_segs = dev->gso_max_segs; in veth_newlink()
1358 err = register_netdevice(peer); in veth_newlink()
1364 netif_carrier_off(peer); in veth_newlink()
1366 err = rtnl_configure_link(peer, ifmp); in veth_newlink()
1396 rcu_assign_pointer(priv->peer, peer); in veth_newlink()
1398 priv = netdev_priv(peer); in veth_newlink()
1399 rcu_assign_pointer(priv->peer, dev); in veth_newlink()
1406 unregister_netdevice(peer); in veth_newlink()
1410 free_netdev(peer); in veth_newlink()
1417 struct net_device *peer; in veth_dellink() local
1420 peer = rtnl_dereference(priv->peer); in veth_dellink()
1426 RCU_INIT_POINTER(priv->peer, NULL); in veth_dellink()
1429 if (peer) { in veth_dellink()
1430 priv = netdev_priv(peer); in veth_dellink()
1431 RCU_INIT_POINTER(priv->peer, NULL); in veth_dellink()
1432 unregister_netdevice_queue(peer, head); in veth_dellink()
1443 struct net_device *peer = rtnl_dereference(priv->peer); in veth_get_link_net() local
1445 return peer ? dev_net(peer) : dev_net(dev); in veth_get_link_net()