Lines Matching refs:handler

40 #define for_each_protocol_rcu(head, handler)		\
41 for (handler = rcu_dereference(head); \
42 handler != NULL; \
43 handler = rcu_dereference(handler->next)) \
48 struct xfrm4_protocol *handler;
54 for_each_protocol_rcu(*head, handler)
55 if ((ret = handler->cb_handler(skb, err)) <= 0)
65 struct xfrm4_protocol *handler;
83 for_each_protocol_rcu(*head, handler)
84 if ((ret = handler->input_handler(skb, nexthdr, spi, encap_type)) != -EINVAL)
99 struct xfrm4_protocol *handler;
103 for_each_protocol_rcu(esp4_handlers, handler)
104 if ((ret = handler->handler(skb)) != -EINVAL)
115 struct xfrm4_protocol *handler;
117 for_each_protocol_rcu(esp4_handlers, handler)
118 if (!handler->err_handler(skb, info))
127 struct xfrm4_protocol *handler;
131 for_each_protocol_rcu(ah4_handlers, handler)
132 if ((ret = handler->handler(skb)) != -EINVAL)
143 struct xfrm4_protocol *handler;
145 for_each_protocol_rcu(ah4_handlers, handler)
146 if (!handler->err_handler(skb, info))
155 struct xfrm4_protocol *handler;
159 for_each_protocol_rcu(ipcomp4_handlers, handler)
160 if ((ret = handler->handler(skb)) != -EINVAL)
171 struct xfrm4_protocol *handler;
173 for_each_protocol_rcu(ipcomp4_handlers, handler)
174 if (!handler->err_handler(skb, info))
181 .handler = xfrm4_esp_rcv,
187 .handler = xfrm4_ah_rcv,
193 .handler = xfrm4_ipcomp_rcv,
217 int xfrm4_protocol_register(struct xfrm4_protocol *handler,
224 int priority = handler->priority;
245 handler->next = *pprev;
246 rcu_assign_pointer(*pprev, handler);
264 int xfrm4_protocol_deregister(struct xfrm4_protocol *handler,
280 if (t == handler) {
281 *pprev = handler->next;