From bcabe63971360206c1ce9adeebdad94ac8e3091d Mon Sep 17 00:00:00 2001 From: Ivan Delamer Date: Fri, 2 Mar 2012 08:53:51 -0700 Subject: [PATCH] Set ip_data.current_netif earlier to allow ICMPv6 packets in ip6_fwd. Then set to "accepted" netif, not inp. --- src/core/ipv6/ip6.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/ipv6/ip6.c b/src/core/ipv6/ip6.c index 55b02c47..a051c0b3 100644 --- a/src/core/ipv6/ip6.c +++ b/src/core/ipv6/ip6.c @@ -395,6 +395,9 @@ ip6_input(struct pbuf *p, struct netif *inp) /* current header pointer. */ ip_data.current_ip6_header = ip6hdr; + /* In netif, used in case we need to send ICMPv6 packets back. */ + ip_data.current_netif = inp; + /* match packet against an interface, i.e. is this packet for us? */ if (ip6_addr_ismulticast(ip6_current_dest_addr())) { /* Always joined to multicast if-local and link-local all-nodes group. */ @@ -477,7 +480,7 @@ netif_found: } /* current netif pointer. */ - ip_data.current_netif = inp; + ip_data.current_netif = netif; /* Save next header type. */ nexth = IP6H_NEXTH(ip6hdr);