Lines Matching refs:p
78 struct net_bridge_port *p = br_port_get_rcu(skb->dev); in br_handle_frame_finish() local
91 if (!p) in br_handle_frame_finish()
94 br = p->br; in br_handle_frame_finish()
99 if (p->state == BR_STATE_DISABLED) in br_handle_frame_finish()
102 state = p->state; in br_handle_frame_finish()
105 brmctx = &p->br->multicast_ctx; in br_handle_frame_finish()
106 pmctx = &p->multicast_ctx; in br_handle_frame_finish()
107 if (!br_allowed_ingress(p->br, nbp_vlan_group_rcu(p), skb, &vid, in br_handle_frame_finish()
111 if (p->flags & BR_PORT_LOCKED) { in br_handle_frame_finish()
119 if (p->flags & BR_PORT_MAB) in br_handle_frame_finish()
120 br_fdb_update(br, p, eth_hdr(skb)->h_source, in br_handle_frame_finish()
123 } else if (READ_ONCE(fdb_src->dst) != p || in br_handle_frame_finish()
131 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, in br_handle_frame_finish()
137 nbp_switchdev_frame_mark(p, skb); in br_handle_frame_finish()
140 if (p->flags & BR_LEARNING) in br_handle_frame_finish()
141 br_fdb_update(br, p, eth_hdr(skb)->h_source, vid, 0); in br_handle_frame_finish()
162 BR_INPUT_SKB_CB(skb)->src_port_isolated = !!(p->flags & BR_ISOLATED); in br_handle_frame_finish()
167 br_do_proxy_suppress_arp(skb, br, vid, p); in br_handle_frame_finish()
178 br_do_suppress_nd(skb, br, vid, p, msg); in br_handle_frame_finish()
233 struct net_bridge_port *p = br_port_get_rcu(skb->dev); in __br_handle_local_finish() local
237 if ((p->flags & BR_LEARNING) && in __br_handle_local_finish()
238 nbp_state_should_learn(p) && in __br_handle_local_finish()
239 !br_opt_get(p->br, BROPT_NO_LL_LEARN) && in __br_handle_local_finish()
240 br_should_learn(p, skb, &vid)) in __br_handle_local_finish()
241 br_fdb_update(p->br, p, eth_hdr(skb)->h_source, vid, 0); in __br_handle_local_finish()
309 static int br_process_frame_type(struct net_bridge_port *p, in br_process_frame_type() argument
314 hlist_for_each_entry_rcu(tmp, &p->br->frame_type_list, list) in br_process_frame_type()
316 return tmp->frame_handler(p, skb); in br_process_frame_type()
327 struct net_bridge_port *p; in br_handle_frame() local
344 p = br_port_get_rcu(skb->dev); in br_handle_frame()
345 if (p->flags & BR_VLAN_TUNNEL) in br_handle_frame()
346 br_handle_ingress_vlan_tunnel(skb, p, nbp_vlan_group_rcu(p)); in br_handle_frame()
349 u16 fwd_mask = p->br->group_fwd_mask_required; in br_handle_frame()
364 fwd_mask |= p->group_fwd_mask; in br_handle_frame()
369 if (p->br->stp_enabled == BR_NO_STP || in br_handle_frame()
380 fwd_mask |= p->br->group_fwd_mask; in br_handle_frame()
389 fwd_mask |= p->br->group_fwd_mask; in br_handle_frame()
410 if (unlikely(br_process_frame_type(p, skb))) in br_handle_frame()
414 if (br_mst_is_enabled(p->br)) in br_handle_frame()
417 switch (p->state) { in br_handle_frame()
421 if (ether_addr_equal(p->br->dev->dev_addr, dest)) in br_handle_frame()