Commit 27e95a8c authored by Igor Maravić's avatar Igor Maravić Committed by David S. Miller

pkt_sched: cls_rsvp.h was outdated

File cls_rsvp.h in /net/sched was outdated. I'm sending you patch for this
file.

[ tb[] array should be indexed by X not X-1 -DaveM ]
Signed-off-by: default avatarIgor Maravić <igorm@etf.rs>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 150966ad
...@@ -425,7 +425,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, ...@@ -425,7 +425,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
struct rsvp_filter *f, **fp; struct rsvp_filter *f, **fp;
struct rsvp_session *s, **sp; struct rsvp_session *s, **sp;
struct tc_rsvp_pinfo *pinfo = NULL; struct tc_rsvp_pinfo *pinfo = NULL;
struct nlattr *opt = tca[TCA_OPTIONS-1]; struct nlattr *opt = tca[TCA_OPTIONS];
struct nlattr *tb[TCA_RSVP_MAX + 1]; struct nlattr *tb[TCA_RSVP_MAX + 1];
struct tcf_exts e; struct tcf_exts e;
unsigned int h1, h2; unsigned int h1, h2;
...@@ -439,7 +439,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, ...@@ -439,7 +439,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
if (err < 0) if (err < 0)
return err; return err;
err = tcf_exts_validate(tp, tb, tca[TCA_RATE-1], &e, &rsvp_ext_map); err = tcf_exts_validate(tp, tb, tca[TCA_RATE], &e, &rsvp_ext_map);
if (err < 0) if (err < 0)
return err; return err;
...@@ -449,8 +449,8 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, ...@@ -449,8 +449,8 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
if (f->handle != handle && handle) if (f->handle != handle && handle)
goto errout2; goto errout2;
if (tb[TCA_RSVP_CLASSID-1]) { if (tb[TCA_RSVP_CLASSID]) {
f->res.classid = nla_get_u32(tb[TCA_RSVP_CLASSID-1]); f->res.classid = nla_get_u32(tb[TCA_RSVP_CLASSID]);
tcf_bind_filter(tp, &f->res, base); tcf_bind_filter(tp, &f->res, base);
} }
...@@ -462,7 +462,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, ...@@ -462,7 +462,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
err = -EINVAL; err = -EINVAL;
if (handle) if (handle)
goto errout2; goto errout2;
if (tb[TCA_RSVP_DST-1] == NULL) if (tb[TCA_RSVP_DST] == NULL)
goto errout2; goto errout2;
err = -ENOBUFS; err = -ENOBUFS;
...@@ -471,19 +471,19 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, ...@@ -471,19 +471,19 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
goto errout2; goto errout2;
h2 = 16; h2 = 16;
if (tb[TCA_RSVP_SRC-1]) { if (tb[TCA_RSVP_SRC]) {
memcpy(f->src, nla_data(tb[TCA_RSVP_SRC-1]), sizeof(f->src)); memcpy(f->src, nla_data(tb[TCA_RSVP_SRC]), sizeof(f->src));
h2 = hash_src(f->src); h2 = hash_src(f->src);
} }
if (tb[TCA_RSVP_PINFO-1]) { if (tb[TCA_RSVP_PINFO]) {
pinfo = nla_data(tb[TCA_RSVP_PINFO-1]); pinfo = nla_data(tb[TCA_RSVP_PINFO]);
f->spi = pinfo->spi; f->spi = pinfo->spi;
f->tunnelhdr = pinfo->tunnelhdr; f->tunnelhdr = pinfo->tunnelhdr;
} }
if (tb[TCA_RSVP_CLASSID-1]) if (tb[TCA_RSVP_CLASSID])
f->res.classid = nla_get_u32(tb[TCA_RSVP_CLASSID-1]); f->res.classid = nla_get_u32(tb[TCA_RSVP_CLASSID]);
dst = nla_data(tb[TCA_RSVP_DST-1]); dst = nla_data(tb[TCA_RSVP_DST]);
h1 = hash_dst(dst, pinfo ? pinfo->protocol : 0, pinfo ? pinfo->tunnelid : 0); h1 = hash_dst(dst, pinfo ? pinfo->protocol : 0, pinfo ? pinfo->tunnelid : 0);
err = -ENOMEM; err = -ENOMEM;
...@@ -642,8 +642,7 @@ static int rsvp_dump(struct tcf_proto *tp, unsigned long fh, ...@@ -642,8 +642,7 @@ static int rsvp_dump(struct tcf_proto *tp, unsigned long fh,
return -1; return -1;
} }
static struct tcf_proto_ops RSVP_OPS = { static struct tcf_proto_ops RSVP_OPS __read_mostly = {
.next = NULL,
.kind = RSVP_ID, .kind = RSVP_ID,
.classify = rsvp_classify, .classify = rsvp_classify,
.init = rsvp_init, .init = rsvp_init,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment