diff options
| author | David S. Miller <davem@sunset.davemloft.net> | 2005-09-10 14:01:33 -0400 |
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2005-09-10 14:01:33 -0400 |
| commit | 2a0445158192246c421467320af0d2f45a98f02c (patch) | |
| tree | ec3d085527cde397de554ea5d5e4d81dadc6b85e /net/ipv6 | |
| parent | 2625c1be3425f5a9d8ef1434449b7d954aaf199d (diff) | |
| parent | e6df439b89dbf9eb977c2dc6f7b0644be3704df4 (diff) | |
Merge davem@outer-richmond.davemloft.net:src/GIT/net-2.6/
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/exthdrs.c | 3 | ||||
| -rw-r--r-- | net/ipv6/netfilter/ip6t_rt.c | 14 |
2 files changed, 8 insertions, 9 deletions
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c index 47122728212a..922549581abc 100644 --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c | |||
| @@ -406,8 +406,7 @@ ipv6_invert_rthdr(struct sock *sk, struct ipv6_rt_hdr *hdr) | |||
| 406 | 406 | ||
| 407 | memcpy(opt->srcrt, hdr, sizeof(*hdr)); | 407 | memcpy(opt->srcrt, hdr, sizeof(*hdr)); |
| 408 | irthdr = (struct rt0_hdr*)opt->srcrt; | 408 | irthdr = (struct rt0_hdr*)opt->srcrt; |
| 409 | /* Obsolete field, MBZ, when originated by us */ | 409 | irthdr->reserved = 0; |
| 410 | irthdr->bitmap = 0; | ||
| 411 | opt->srcrt->segments_left = n; | 410 | opt->srcrt->segments_left = n; |
| 412 | for (i=0; i<n; i++) | 411 | for (i=0; i<n; i++) |
| 413 | memcpy(irthdr->addr+i, rthdr->addr+(n-1-i), 16); | 412 | memcpy(irthdr->addr+i, rthdr->addr+(n-1-i), 16); |
diff --git a/net/ipv6/netfilter/ip6t_rt.c b/net/ipv6/netfilter/ip6t_rt.c index a9526b773d28..2bb670037df3 100644 --- a/net/ipv6/netfilter/ip6t_rt.c +++ b/net/ipv6/netfilter/ip6t_rt.c | |||
| @@ -161,8 +161,8 @@ match(const struct sk_buff *skb, | |||
| 161 | ((rtinfo->hdrlen == hdrlen) ^ | 161 | ((rtinfo->hdrlen == hdrlen) ^ |
| 162 | !!(rtinfo->invflags & IP6T_RT_INV_LEN)))); | 162 | !!(rtinfo->invflags & IP6T_RT_INV_LEN)))); |
| 163 | DEBUGP("res %02X %02X %02X ", | 163 | DEBUGP("res %02X %02X %02X ", |
| 164 | (rtinfo->flags & IP6T_RT_RES), ((struct rt0_hdr *)rh)->bitmap, | 164 | (rtinfo->flags & IP6T_RT_RES), ((struct rt0_hdr *)rh)->reserved, |
| 165 | !((rtinfo->flags & IP6T_RT_RES) && (((struct rt0_hdr *)rh)->bitmap))); | 165 | !((rtinfo->flags & IP6T_RT_RES) && (((struct rt0_hdr *)rh)->reserved))); |
| 166 | 166 | ||
| 167 | ret = (rh != NULL) | 167 | ret = (rh != NULL) |
| 168 | && | 168 | && |
| @@ -179,12 +179,12 @@ match(const struct sk_buff *skb, | |||
| 179 | !!(rtinfo->invflags & IP6T_RT_INV_TYP))); | 179 | !!(rtinfo->invflags & IP6T_RT_INV_TYP))); |
| 180 | 180 | ||
| 181 | if (ret && (rtinfo->flags & IP6T_RT_RES)) { | 181 | if (ret && (rtinfo->flags & IP6T_RT_RES)) { |
| 182 | u_int32_t *bp, _bitmap; | 182 | u_int32_t *rp, _reserved; |
| 183 | bp = skb_header_pointer(skb, | 183 | rp = skb_header_pointer(skb, |
| 184 | ptr + offsetof(struct rt0_hdr, bitmap), | 184 | ptr + offsetof(struct rt0_hdr, reserved), |
| 185 | sizeof(_bitmap), &_bitmap); | 185 | sizeof(_reserved), &_reserved); |
| 186 | 186 | ||
| 187 | ret = (*bp == 0); | 187 | ret = (*rp == 0); |
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | DEBUGP("#%d ",rtinfo->addrnr); | 190 | DEBUGP("#%d ",rtinfo->addrnr); |
