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()
95 struct ipvl_addr *ipvlan_find_addr(const struct ipvl_dev *ipvlan, in ipvlan_find_addr() argument
100 list_for_each_entry(addr, &ipvlan->addrs, anode) { in ipvlan_find_addr()
112 struct ipvl_dev *ipvlan; in ipvlan_addr_busy() local
116 list_for_each_entry(ipvlan, &port->ipvlans, pnode) { in ipvlan_addr_busy()
117 if (ipvlan_find_addr(ipvlan, iaddr, is_v6)) in ipvlan_addr_busy()
196 struct ipvl_dev *ipvlan; in ipvlan_multicast_frame() local
206 list_for_each_entry_rcu(ipvlan, &port->ipvlans, pnode) { in ipvlan_multicast_frame()
207 if (local && (ipvlan == in_dev)) in ipvlan_multicast_frame()
211 if (!test_bit(mac_hash, ipvlan->mac_filters)) in ipvlan_multicast_frame()
220 if (ether_addr_equal(eth->h_dest, ipvlan->phy_dev->broadcast)) in ipvlan_multicast_frame()
225 nskb->dev = ipvlan->dev; in ipvlan_multicast_frame()
227 ret = dev_forward_skb(ipvlan->dev, nskb); in ipvlan_multicast_frame()
231 ipvlan_count_rx(ipvlan, len, ret == NET_RX_SUCCESS, true); in ipvlan_multicast_frame()
255 struct ipvl_dev *ipvlan = addr->master; in ipvlan_rcv_frame() local
256 struct net_device *dev = ipvlan->dev; in ipvlan_rcv_frame()
275 if (dev_forward_skb(ipvlan->dev, skb) == NET_RX_SUCCESS) in ipvlan_rcv_frame()
283 ipvlan_count_rx(ipvlan, len, success, false); in ipvlan_rcv_frame()
413 const struct ipvl_dev *ipvlan) in ipvlan_process_outbound() argument
451 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l3() local
460 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l3()
465 skb->dev = ipvlan->phy_dev; in ipvlan_xmit_mode_l3()
466 return ipvlan_process_outbound(skb, ipvlan); in ipvlan_xmit_mode_l3()
471 const struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_xmit_mode_l2() local
480 addr = ipvlan_addr_lookup(ipvlan->port, lyr3h, addr_type, true); in ipvlan_xmit_mode_l2()
493 return dev_forward_skb(ipvlan->phy_dev, skb); in ipvlan_xmit_mode_l2()
499 ipvlan_multicast_frame(ipvlan->port, skb, ipvlan, true); in ipvlan_xmit_mode_l2()
503 skb->dev = ipvlan->phy_dev; in ipvlan_xmit_mode_l2()
509 struct ipvl_dev *ipvlan = netdev_priv(dev); in ipvlan_queue_xmit() local
510 struct ipvl_port *port = ipvlan_port_get_rcu(ipvlan->phy_dev); in ipvlan_queue_xmit()