Lines Matching refs:handler

41 #define for_each_protocol_rcu(head, handler)		\
42 for (handler = rcu_dereference(head); \
43 handler != NULL; \
44 handler = rcu_dereference(handler->next)) \
49 struct xfrm6_protocol *handler;
55 for_each_protocol_rcu(*proto_handlers(protocol), handler)
56 if ((ret = handler->cb_handler(skb, err)) <= 0)
66 struct xfrm6_protocol *handler;
96 for_each_protocol_rcu(*head, handler)
97 if ((ret = handler->input_handler(skb, nexthdr, spi, encap_type)) != -EINVAL)
112 struct xfrm6_protocol *handler;
116 for_each_protocol_rcu(esp6_handlers, handler)
117 if ((ret = handler->handler(skb)) != -EINVAL)
129 struct xfrm6_protocol *handler;
131 for_each_protocol_rcu(esp6_handlers, handler)
132 if (!handler->err_handler(skb, opt, type, code, offset, info))
141 struct xfrm6_protocol *handler;
145 for_each_protocol_rcu(ah6_handlers, handler)
146 if ((ret = handler->handler(skb)) != -EINVAL)
158 struct xfrm6_protocol *handler;
160 for_each_protocol_rcu(ah6_handlers, handler)
161 if (!handler->err_handler(skb, opt, type, code, offset, info))
170 struct xfrm6_protocol *handler;
174 for_each_protocol_rcu(ipcomp6_handlers, handler)
175 if ((ret = handler->handler(skb)) != -EINVAL)
187 struct xfrm6_protocol *handler;
189 for_each_protocol_rcu(ipcomp6_handlers, handler)
190 if (!handler->err_handler(skb, opt, type, code, offset, info))
197 .handler = xfrm6_esp_rcv,
203 .handler = xfrm6_ah_rcv,
209 .handler = xfrm6_ipcomp_rcv,
233 int xfrm6_protocol_register(struct xfrm6_protocol *handler,
240 int priority = handler->priority;
261 handler->next = *pprev;
262 rcu_assign_pointer(*pprev, handler);
280 int xfrm6_protocol_deregister(struct xfrm6_protocol *handler,
296 if (t == handler) {
297 *pprev = handler->next;