| Submitter | Nicolas Dichtel |
|---|---|
| Date | Nov. 14, 2012, 3:29 p.m. |
| Message ID | <1352906966-12932-3-git-send-email-nicolas.dichtel@6wind.com> |
| Download | mbox | patch |
| Permalink | /patch/198944/ |
| State | Accepted |
| Delegated to: | stephen hemminger |
| Headers | show |
Comments
On Wed, 14 Nov 2012 16:29:26 +0100 Nicolas Dichtel <nicolas.dichtel@6wind.com> wrote: > When tclass or flowlabel field were updated, we only performed an OR with the > new value. For example, it was not possible to reset tclass: > ip -6 tunnel change ip6tnl2 tclass 0 > > Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> > --- > ip/ip6tunnel.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c > index 7aaac61..fcc9f33 100644 > --- a/ip/ip6tunnel.c > +++ b/ip/ip6tunnel.c > @@ -173,6 +173,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm *p) > matches(*argv, "dsfield") == 0) { > __u8 uval; > NEXT_ARG(); > + p->flowinfo &= ~IP6_FLOWINFO_TCLASS; > if (strcmp(*argv, "inherit") == 0) > p->flags |= IP6_TNL_F_USE_ORIG_TCLASS; > else { > @@ -185,6 +186,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm *p) > strcmp(*argv, "fl") == 0) { > __u32 uval; > NEXT_ARG(); > + p->flowinfo &= ~IP6_FLOWINFO_FLOWLABEL; > if (strcmp(*argv, "inherit") == 0) > p->flags |= IP6_TNL_F_USE_ORIG_FLOWLABEL; > else { All applied thanks. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Patch
diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c index 7aaac61..fcc9f33 100644 --- a/ip/ip6tunnel.c +++ b/ip/ip6tunnel.c @@ -173,6 +173,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm *p) matches(*argv, "dsfield") == 0) { __u8 uval; NEXT_ARG(); + p->flowinfo &= ~IP6_FLOWINFO_TCLASS; if (strcmp(*argv, "inherit") == 0) p->flags |= IP6_TNL_F_USE_ORIG_TCLASS; else { @@ -185,6 +186,7 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm *p) strcmp(*argv, "fl") == 0) { __u32 uval; NEXT_ARG(); + p->flowinfo &= ~IP6_FLOWINFO_FLOWLABEL; if (strcmp(*argv, "inherit") == 0) p->flags |= IP6_TNL_F_USE_ORIG_FLOWLABEL; else {
When tclass or flowlabel field were updated, we only performed an OR with the new value. For example, it was not possible to reset tclass: ip -6 tunnel change ip6tnl2 tclass 0 Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> --- ip/ip6tunnel.c | 2 ++ 1 file changed, 2 insertions(+)