aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/tunnel4.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/net/ipv4/tunnel4.c b/net/ipv4/tunnel4.c
index a794a8ca8b4f..d619d2e83f5d 100644
--- a/net/ipv4/tunnel4.c
+++ b/net/ipv4/tunnel4.c
@@ -118,6 +118,17 @@ static void tunnel4_err(struct sk_buff *skb, u32 info)
118 break; 118 break;
119} 119}
120 120
121#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
122static void tunnel64_err(struct sk_buff *skb, u32 info)
123{
124 struct xfrm_tunnel *handler;
125
126 for (handler = tunnel64_handlers; handler; handler = handler->next)
127 if (!handler->err_handler(skb, info))
128 break;
129}
130#endif
131
121static struct net_protocol tunnel4_protocol = { 132static struct net_protocol tunnel4_protocol = {
122 .handler = tunnel4_rcv, 133 .handler = tunnel4_rcv,
123 .err_handler = tunnel4_err, 134 .err_handler = tunnel4_err,
@@ -127,7 +138,7 @@ static struct net_protocol tunnel4_protocol = {
127#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 138#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
128static struct net_protocol tunnel64_protocol = { 139static struct net_protocol tunnel64_protocol = {
129 .handler = tunnel64_rcv, 140 .handler = tunnel64_rcv,
130 .err_handler = tunnel4_err, 141 .err_handler = tunnel64_err,
131 .no_policy = 1, 142 .no_policy = 1,
132}; 143};
133#endif 144#endif