kernel: fix ip6_tunnel compilation
authorluka <luka@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 10 May 2016 22:36:30 +0000 (22:36 +0000)
committerluka <luka@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 10 May 2016 22:36:30 +0000 (22:36 +0000)
Replace undefined iph for ip_hdr(skb)

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@49328 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch

index 7123c80..d511520 100644 (file)
@@ -311,13 +311,13 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 +      for (fmr = t->parms.fmrs; fmr; fmr = fmr->next) {
 +              unsigned mshift = 32 - fmr->ip4_prefix_len;
 +              if (ntohl(fmr->ip4_prefix.s_addr) >> mshift ==
 +      for (fmr = t->parms.fmrs; fmr; fmr = fmr->next) {
 +              unsigned mshift = 32 - fmr->ip4_prefix_len;
 +              if (ntohl(fmr->ip4_prefix.s_addr) >> mshift ==
-+                              ntohl(iph->daddr) >> mshift)
++                              ntohl(ip_hdr(skb)->daddr) >> mshift)
 +                      break;
 +      }
 +
 +      /* change dstaddr according to FMR */
 +      if (fmr)
 +                      break;
 +      }
 +
 +      /* change dstaddr according to FMR */
 +      if (fmr)
-+              ip4ip6_fmr_calc(&fl6.daddr, iph, skb_tail_pointer(skb), fmr, true);
++              ip4ip6_fmr_calc(&fl6.daddr, ip_hdr(skb), skb_tail_pointer(skb), fmr, true);
 +
        err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
        if (err != 0) {
 +
        err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
        if (err != 0) {