Lines Matching refs:proto
35 const struct stp_proto *proto; in stp_pdu_rcv() local
43 proto = rcu_dereference(garp_protos[eh->h_dest[5] - in stp_pdu_rcv()
45 if (proto && in stp_pdu_rcv()
46 !ether_addr_equal(eh->h_dest, proto->group_address)) in stp_pdu_rcv()
49 proto = rcu_dereference(stp_proto); in stp_pdu_rcv()
51 if (!proto) in stp_pdu_rcv()
54 proto->rcv(proto, skb, dev); in stp_pdu_rcv()
62 int stp_proto_register(const struct stp_proto *proto) in stp_proto_register() argument
74 if (is_zero_ether_addr(proto->group_address)) in stp_proto_register()
75 rcu_assign_pointer(stp_proto, proto); in stp_proto_register()
77 rcu_assign_pointer(garp_protos[proto->group_address[5] - in stp_proto_register()
78 GARP_ADDR_MIN], proto); in stp_proto_register()
85 void stp_proto_unregister(const struct stp_proto *proto) in stp_proto_unregister() argument
88 if (is_zero_ether_addr(proto->group_address)) in stp_proto_unregister()
91 RCU_INIT_POINTER(garp_protos[proto->group_address[5] - in stp_proto_unregister()