Lines Matching refs:handler
40 #define for_each_protocol_rcu(head, handler) \ argument
41 for (handler = rcu_dereference(head); \
42 handler != NULL; \
43 handler = rcu_dereference(handler->next)) \
48 struct xfrm4_protocol *handler; in xfrm4_rcv_cb() local
54 for_each_protocol_rcu(*head, handler) in xfrm4_rcv_cb()
55 if ((ret = handler->cb_handler(skb, err)) <= 0) in xfrm4_rcv_cb()
65 struct xfrm4_protocol *handler; in xfrm4_rcv_encap() local
75 for_each_protocol_rcu(*head, handler) in xfrm4_rcv_encap()
76 if ((ret = handler->input_handler(skb, nexthdr, spi, encap_type)) != -EINVAL) in xfrm4_rcv_encap()
90 struct xfrm4_protocol *handler; in xfrm4_esp_rcv() local
94 for_each_protocol_rcu(esp4_handlers, handler) in xfrm4_esp_rcv()
95 if ((ret = handler->handler(skb)) != -EINVAL) in xfrm4_esp_rcv()
106 struct xfrm4_protocol *handler; in xfrm4_esp_err() local
108 for_each_protocol_rcu(esp4_handlers, handler) in xfrm4_esp_err()
109 if (!handler->err_handler(skb, info)) in xfrm4_esp_err()
118 struct xfrm4_protocol *handler; in xfrm4_ah_rcv() local
122 for_each_protocol_rcu(ah4_handlers, handler) in xfrm4_ah_rcv()
123 if ((ret = handler->handler(skb)) != -EINVAL) in xfrm4_ah_rcv()
134 struct xfrm4_protocol *handler; in xfrm4_ah_err() local
136 for_each_protocol_rcu(ah4_handlers, handler) in xfrm4_ah_err()
137 if (!handler->err_handler(skb, info)) in xfrm4_ah_err()
146 struct xfrm4_protocol *handler; in xfrm4_ipcomp_rcv() local
150 for_each_protocol_rcu(ipcomp4_handlers, handler) in xfrm4_ipcomp_rcv()
151 if ((ret = handler->handler(skb)) != -EINVAL) in xfrm4_ipcomp_rcv()
162 struct xfrm4_protocol *handler; in xfrm4_ipcomp_err() local
164 for_each_protocol_rcu(ipcomp4_handlers, handler) in xfrm4_ipcomp_err()
165 if (!handler->err_handler(skb, info)) in xfrm4_ipcomp_err()
172 .handler = xfrm4_esp_rcv,
179 .handler = xfrm4_ah_rcv,
186 .handler = xfrm4_ipcomp_rcv,
211 int xfrm4_protocol_register(struct xfrm4_protocol *handler, in xfrm4_protocol_register() argument
218 int priority = handler->priority; in xfrm4_protocol_register()
239 handler->next = *pprev; in xfrm4_protocol_register()
240 rcu_assign_pointer(*pprev, handler); in xfrm4_protocol_register()
258 int xfrm4_protocol_deregister(struct xfrm4_protocol *handler, in xfrm4_protocol_deregister() argument
274 if (t == handler) { in xfrm4_protocol_deregister()
275 *pprev = handler->next; in xfrm4_protocol_deregister()