diff options
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/tunnel4.c | 13 |
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) | ||
122 | static 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 | |||
121 | static struct net_protocol tunnel4_protocol = { | 132 | static 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) |
128 | static struct net_protocol tunnel64_protocol = { | 139 | static 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 |