Lines Matching refs:proto
36 const struct stp_proto *proto; in stp_pdu_rcv() local
44 proto = rcu_dereference(garp_protos[eh->h_dest[5] - in stp_pdu_rcv()
46 if (proto && in stp_pdu_rcv()
47 compare_ether_addr(eh->h_dest, proto->group_address)) in stp_pdu_rcv()
50 proto = rcu_dereference(stp_proto); in stp_pdu_rcv()
52 if (!proto) in stp_pdu_rcv()
55 proto->rcv(proto, skb, dev); in stp_pdu_rcv()
63 int stp_proto_register(const struct stp_proto *proto) in stp_proto_register() argument
75 if (is_zero_ether_addr(proto->group_address)) in stp_proto_register()
76 rcu_assign_pointer(stp_proto, proto); in stp_proto_register()
78 rcu_assign_pointer(garp_protos[proto->group_address[5] - in stp_proto_register()
79 GARP_ADDR_MIN], proto); in stp_proto_register()
86 void stp_proto_unregister(const struct stp_proto *proto) in stp_proto_unregister() argument
89 if (is_zero_ether_addr(proto->group_address)) in stp_proto_unregister()
92 rcu_assign_pointer(garp_protos[proto->group_address[5] - in stp_proto_unregister()