Lines Matching refs:ipvlan
14 void ipvlan_count_rx(const struct ipvl_dev *ipvlan, in ipvlan_count_rx() argument
20 pcptr = this_cpu_ptr(ipvlan->pcpu_stats); in ipvlan_count_rx()
28 this_cpu_inc(ipvlan->pcpu_stats->rx_errs); in ipvlan_count_rx()
87 void ipvlan_ht_addr_add(struct ipvl_dev *ipvlan, struct ipvl_addr *addr) in ipvlan_ht_addr_add() argument
89 struct ipvl_port *port = ipvlan->port; in ipvlan_ht_addr_add()
104 struct ipvl_addr *ipvlan_find_addr(const struct ipvl_dev *ipvlan, in ipvlan_find_addr() argument
110 list_for_each_entry_rcu(addr, &ipvlan->addrs, anode) { in ipvlan_find_addr()
122 struct ipvl_dev *ipvlan; in ipvlan_addr_busy() local
126 list_for_each_entry_rcu(ipvlan, &port->ipvlans, pnode) { in ipvlan_addr_busy()
127 if (ipvlan_find_addr(ipvlan, iaddr, is_v6)) { in ipvlan_addr_busy()
229 struct ipvl_dev *ipvlan; in ipvlan_process_multicast() local
258 list_for_each_entry_rcu(ipvlan, &port->ipvlans, pnode) { in ipvlan_process_multicast()
259 if (tx_pkt && (ipvlan->dev == skb->dev)) in ipvlan_process_multicast()
261 if (!test_bit(mac_hash, ipvlan->mac_filters)) in ipvlan_process_multicast()
263 if (!(ipvlan->dev->flags & IFF_UP)) in ipvlan_process_multicast()
272 nskb->dev = ipvlan->dev; in ipvlan_process_multicast()
274 ret = dev_forward_skb(ipvlan->dev, nskb); in ipvlan_process_multicast()
278 ipvlan_count_rx(ipvlan, len, ret == NET_RX_SUCCESS, true); in ipvlan_process_multicast()
315 struct ipvl_dev *ipvlan = addr->master; in ipvlan_rcv_frame() local
316 struct net_device *dev = ipvlan->dev; in ipvlan_rcv_frame()
341 if (dev_forward_skb(ipvlan->dev, skb) == NET_RX_SUCCESS) in ipvlan_rcv_frame()
350 ipvlan_count_rx(ipvlan, len, success, false); in ipvlan_rcv_frame()
566 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l3() local
571 lyr3h = ipvlan_get_L3_hdr(ipvlan->port, skb, &addr_type); in ipvlan_xmit_mode_l3()
575 if (!ipvlan_is_vepa(ipvlan->port)) { in ipvlan_xmit_mode_l3()
576 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l3()
578 if (ipvlan_is_private(ipvlan->port)) { in ipvlan_xmit_mode_l3()
586 ipvlan_skb_crossing_ns(skb, ipvlan->phy_dev); in ipvlan_xmit_mode_l3()
592 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l2() local
598 if (!ipvlan_is_vepa(ipvlan->port) && in ipvlan_xmit_mode_l2()
600 lyr3h = ipvlan_get_L3_hdr(ipvlan->port, skb, &addr_type); in ipvlan_xmit_mode_l2()
602 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l2()
604 if (ipvlan_is_private(ipvlan->port)) { in ipvlan_xmit_mode_l2()
620 return dev_forward_skb(ipvlan->phy_dev, skb); in ipvlan_xmit_mode_l2()
624 ipvlan_multicast_enqueue(ipvlan->port, skb, true); in ipvlan_xmit_mode_l2()
628 skb->dev = ipvlan->phy_dev; in ipvlan_xmit_mode_l2()
634 struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_queue_xmit() local
635 struct ipvl_port *port = ipvlan_port_get_rcu_bh(ipvlan->phy_dev); in ipvlan_queue_xmit()