From: Ido Schimmel <idosch@idosch•org>
To: David Ahern <dsa@cumulusnetworks•com>
Cc: Jiri Pirko <jiri@resnulli•us>,
netdev@vger•kernel.org, davem@davemloft•net, idosch@mellanox•com,
mlxsw@mellanox•com, shm@cumulusnetworks•com,
kuznet@ms2•inr.ac.ru, jmorris@namei•org, yoshfuji@linux-ipv6•org,
kaber@trash•net, lorenzo@google•com, mateusz.bajorski@nokia•com
Subject: Re: [patch net-next v2 1/9] net: fib_rules: Check if selector matches all packets
Date: Wed, 15 Mar 2017 17:30:31 +0200 [thread overview]
Message-ID: <20170315153031.GA30399@splinter.mtl.com> (raw)
In-Reply-To: <27c557ac-5905-5004-8264-1ceba0ad76c6@cumulusnetworks.com>
On Wed, Mar 15, 2017 at 09:15:43AM -0600, David Ahern wrote:
> On 3/15/17 5:05 AM, Jiri Pirko wrote:
> > diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
> > index b6791d9..4ed475d 100644
> > --- a/net/core/fib_rules.c
> > +++ b/net/core/fib_rules.c
> > @@ -23,6 +23,20 @@ static const struct fib_kuid_range fib_kuid_range_unset = {
> > KUIDT_INIT(~0),
> > };
> >
> > +bool fib_rule_matchall(const struct fib_rule *rule)
> > +{
> > + if (rule->iifindex || rule->oifindex || rule->mark || rule->l3mdev ||
>
> l3mdev should not be in that list. Setting l3mdev is functionally
> equivalent to setting rule->table. The difference is that l3mdev means
> go get the table from the device. It has no bearing on a 'matchall' intent.
Good idea. Will drop this and the last patch.
>
>
> > + rule->tun_id || rule->flags)
> > + return false;
> > + if (rule->suppress_ifgroup != -1 || rule->suppress_prefixlen != -1)
> > + return false;
> > + if (!uid_eq(rule->uid_range.start, fib_kuid_range_unset.start) ||
> > + !uid_eq(rule->uid_range.end, fib_kuid_range_unset.end))
> > + return false;
> > + return true;
> > +}
> > +EXPORT_SYMBOL_GPL(fib_rule_matchall);
> > +
> > int fib_default_rule_add(struct fib_rules_ops *ops,
> > u32 pref, u32 table, u32 flags)
> > {
> > diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c
> > index 2892109..7a941a5 100644
> > --- a/net/ipv4/fib_rules.c
> > +++ b/net/ipv4/fib_rules.c
> > @@ -47,6 +47,16 @@ struct fib4_rule {
> > #endif
> > };
> >
> > +bool fib4_rule_matchall(const struct fib_rule *rule)
> > +{
> > + struct fib4_rule *r = (struct fib4_rule *) rule;
>
> Use container_of instead of typecast.
There are multiple conversions from 'fib_rule' to 'fib4_rule' in this
file, all use typecast.
Thanks David.
next prev parent reply other threads:[~2017-03-15 15:30 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-15 11:05 [patch net-next v2 0/9] mlxsw: Enable VRF offload Jiri Pirko
2017-03-15 11:05 ` [patch net-next v2 1/9] net: fib_rules: Check if selector matches all packets Jiri Pirko
2017-03-15 15:15 ` David Ahern
2017-03-15 15:30 ` Ido Schimmel [this message]
2017-03-15 15:33 ` David Ahern
2017-03-15 15:37 ` Ido Schimmel
2017-03-15 11:05 ` [patch net-next v2 2/9] ipv4: fib_rules: Add notifier info to FIB rules notifications Jiri Pirko
2017-03-15 15:16 ` David Ahern
2017-03-15 11:05 ` [patch net-next v2 3/9] ipv4: fib_rules: Dump FIB rules when registering FIB notifier Jiri Pirko
2017-03-15 15:22 ` David Ahern
2017-03-15 15:36 ` Ido Schimmel
2017-03-15 11:05 ` [patch net-next v2 4/9] net: vrf: Set slave's private flag before linking Jiri Pirko
2017-03-15 11:05 ` [patch net-next v2 5/9] mlxsw: spectrum_router: Associate RIFs with correct VR Jiri Pirko
2017-03-15 11:05 ` [patch net-next v2 6/9] mlxsw: spectrum_router: Don't destroy RIF if L3 slave Jiri Pirko
2017-03-15 11:05 ` [patch net-next v2 7/9] mlxsw: spectrum_router: Add support for VRFs Jiri Pirko
2017-03-15 11:05 ` [patch net-next v2 8/9] mlxsw: spectrum_router: Add support for VRFs on top of bridges Jiri Pirko
2017-03-15 11:05 ` [patch net-next v2 9/9] mlxsw: spectrum_router: Don't abort on l3mdev rules Jiri Pirko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170315153031.GA30399@splinter.mtl.com \
--to=idosch@idosch$(echo .)org \
--cc=davem@davemloft$(echo .)net \
--cc=dsa@cumulusnetworks$(echo .)com \
--cc=idosch@mellanox$(echo .)com \
--cc=jiri@resnulli$(echo .)us \
--cc=jmorris@namei$(echo .)org \
--cc=kaber@trash$(echo .)net \
--cc=kuznet@ms2$(echo .)inr.ac.ru \
--cc=lorenzo@google$(echo .)com \
--cc=mateusz.bajorski@nokia$(echo .)com \
--cc=mlxsw@mellanox$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=shm@cumulusnetworks$(echo .)com \
--cc=yoshfuji@linux-ipv6$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox