Set ip_data.current_netif earlier to allow ICMPv6 packets in ip6_fwd.

Then set to "accepted" netif, not inp.
This commit is contained in:
Ivan Delamer 2012-03-02 08:53:51 -07:00
parent 193ccaa3b4
commit bcabe63971

View File

@ -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);