Lines Matching refs:ipvlan
19 static void ipvlan_count_rx(const struct ipvl_dev *ipvlan, in ipvlan_count_rx() argument
22 if (!ipvlan) in ipvlan_count_rx()
28 pcptr = this_cpu_ptr(ipvlan->pcpu_stats); in ipvlan_count_rx()
36 this_cpu_inc(ipvlan->pcpu_stats->rx_errs); in ipvlan_count_rx()
76 void ipvlan_ht_addr_add(struct ipvl_dev *ipvlan, struct ipvl_addr *addr) in ipvlan_ht_addr_add() argument
78 struct ipvl_port *port = ipvlan->port; in ipvlan_ht_addr_add()
93 struct ipvl_addr *ipvlan_find_addr(const struct ipvl_dev *ipvlan, in ipvlan_find_addr() argument
98 list_for_each_entry(addr, &ipvlan->addrs, anode) { in ipvlan_find_addr()
110 struct ipvl_dev *ipvlan; in ipvlan_addr_busy() local
114 list_for_each_entry(ipvlan, &port->ipvlans, pnode) { in ipvlan_addr_busy()
115 if (ipvlan_find_addr(ipvlan, iaddr, is_v6)) in ipvlan_addr_busy()
194 struct ipvl_dev *ipvlan; in ipvlan_process_multicast() local
221 list_for_each_entry_rcu(ipvlan, &port->ipvlans, pnode) { in ipvlan_process_multicast()
222 if (hlocal && (ipvlan->dev == skb->dev)) { in ipvlan_process_multicast()
226 if (!test_bit(mac_hash, ipvlan->mac_filters)) in ipvlan_process_multicast()
236 nskb->dev = ipvlan->dev; in ipvlan_process_multicast()
238 ret = dev_forward_skb(ipvlan->dev, nskb); in ipvlan_process_multicast()
242 ipvlan_count_rx(ipvlan, len, ret == NET_RX_SUCCESS, true); in ipvlan_process_multicast()
260 struct ipvl_dev *ipvlan = addr->master; in ipvlan_rcv_frame() local
261 struct net_device *dev = ipvlan->dev; in ipvlan_rcv_frame()
282 if (dev_forward_skb(ipvlan->dev, skb) == NET_RX_SUCCESS) in ipvlan_rcv_frame()
290 ipvlan_count_rx(ipvlan, len, success, false); in ipvlan_rcv_frame()
422 const struct ipvl_dev *ipvlan) in ipvlan_process_outbound() argument
480 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l3() local
489 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l3()
494 skb->dev = ipvlan->phy_dev; in ipvlan_xmit_mode_l3()
495 return ipvlan_process_outbound(skb, ipvlan); in ipvlan_xmit_mode_l3()
500 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l2() local
509 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l2()
522 return dev_forward_skb(ipvlan->phy_dev, skb); in ipvlan_xmit_mode_l2()
525 ipvlan_multicast_enqueue(ipvlan->port, skb); in ipvlan_xmit_mode_l2()
529 skb->dev = ipvlan->phy_dev; in ipvlan_xmit_mode_l2()
535 struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_queue_xmit() local
536 struct ipvl_port *port = ipvlan_port_get_rcu_bh(ipvlan->phy_dev); in ipvlan_queue_xmit()