Lines Matching refs:ipvlan

17 void ipvlan_count_rx(const struct ipvl_dev *ipvlan,  in ipvlan_count_rx()  argument
23 pcptr = this_cpu_ptr(ipvlan->pcpu_stats); in ipvlan_count_rx()
31 this_cpu_inc(ipvlan->pcpu_stats->rx_errs); in ipvlan_count_rx()
90 void ipvlan_ht_addr_add(struct ipvl_dev *ipvlan, struct ipvl_addr *addr) in ipvlan_ht_addr_add() argument
92 struct ipvl_port *port = ipvlan->port; in ipvlan_ht_addr_add()
107 struct ipvl_addr *ipvlan_find_addr(const struct ipvl_dev *ipvlan, in ipvlan_find_addr() argument
113 list_for_each_entry_rcu(addr, &ipvlan->addrs, anode) { in ipvlan_find_addr()
125 struct ipvl_dev *ipvlan; in ipvlan_addr_busy() local
129 list_for_each_entry_rcu(ipvlan, &port->ipvlans, pnode) { in ipvlan_addr_busy()
130 if (ipvlan_find_addr(ipvlan, iaddr, is_v6)) { in ipvlan_addr_busy()
232 struct ipvl_dev *ipvlan; in ipvlan_process_multicast() local
261 list_for_each_entry_rcu(ipvlan, &port->ipvlans, pnode) { in ipvlan_process_multicast()
262 if (tx_pkt && (ipvlan->dev == skb->dev)) in ipvlan_process_multicast()
264 if (!test_bit(mac_hash, ipvlan->mac_filters)) in ipvlan_process_multicast()
266 if (!(ipvlan->dev->flags & IFF_UP)) in ipvlan_process_multicast()
275 nskb->dev = ipvlan->dev; in ipvlan_process_multicast()
277 ret = dev_forward_skb(ipvlan->dev, nskb); in ipvlan_process_multicast()
281 ipvlan_count_rx(ipvlan, len, ret == NET_RX_SUCCESS, true); in ipvlan_process_multicast()
317 struct ipvl_dev *ipvlan = addr->master; in ipvlan_rcv_frame() local
318 struct net_device *dev = ipvlan->dev; in ipvlan_rcv_frame()
343 if (dev_forward_skb(ipvlan->dev, skb) == NET_RX_SUCCESS) in ipvlan_rcv_frame()
352 ipvlan_count_rx(ipvlan, len, success, false); in ipvlan_rcv_frame()
594 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l3() local
599 lyr3h = ipvlan_get_L3_hdr(ipvlan->port, skb, &addr_type); in ipvlan_xmit_mode_l3()
603 if (!ipvlan_is_vepa(ipvlan->port)) { in ipvlan_xmit_mode_l3()
604 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l3()
606 if (ipvlan_is_private(ipvlan->port)) { in ipvlan_xmit_mode_l3()
615 ipvlan_skb_crossing_ns(skb, ipvlan->phy_dev); in ipvlan_xmit_mode_l3()
621 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l2() local
627 if (!ipvlan_is_vepa(ipvlan->port) && in ipvlan_xmit_mode_l2()
629 lyr3h = ipvlan_get_L3_hdr(ipvlan->port, skb, &addr_type); in ipvlan_xmit_mode_l2()
631 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l2()
633 if (ipvlan_is_private(ipvlan->port)) { in ipvlan_xmit_mode_l2()
650 dev_forward_skb(ipvlan->phy_dev, skb); in ipvlan_xmit_mode_l2()
656 ipvlan_multicast_enqueue(ipvlan->port, skb, true); in ipvlan_xmit_mode_l2()
660 skb->dev = ipvlan->phy_dev; in ipvlan_xmit_mode_l2()
666 struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_queue_xmit() local
667 struct ipvl_port *port = ipvlan_port_get_rcu_bh(ipvlan->phy_dev); in ipvlan_queue_xmit()