All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Abeni <pabeni@redhat.com>
To: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
	David Ahern <dsa@cumulusnetworks.com>,
	Hajime Tazaki <thehajime@gmail.com>,
	lucien.xin@gmail.com,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Subject: Re: [PATCH net 1/2] ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()
Date: Thu, 28 Jan 2016 13:27:30 +0100	[thread overview]
Message-ID: <1453984050.5118.37.camel@redhat.com> (raw)
In-Reply-To: <56A90EB7.5000702@stressinduktion.org>

On Wed, 2016-01-27 at 19:38 +0100, Hannes Frederic Sowa wrote:
> On 27.01.2016 14:45, Paolo Abeni wrote:
> > diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> > index 3c8834b..973cb73 100644
> > --- a/net/ipv6/route.c
> > +++ b/net/ipv6/route.c
> > @@ -1183,11 +1183,10 @@ static struct rt6_info *ip6_pol_route_output(struct net *net, struct fib6_table
> >   	return ip6_pol_route(net, table, fl6->flowi6_oif, fl6, flags);
> >   }
> >
> > -struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
> > -				    struct flowi6 *fl6)
> > +struct dst_entry *ip6_route_output_flags(struct net *net, const struct sock *sk,
> > +					 struct flowi6 *fl6, int flags)
> >   {
> >   	struct dst_entry *dst;
> > -	int flags = 0;
> >   	bool any_src;
> >
> >   	dst = l3mdev_rt6_dst_by_oif(net, fl6);
> > @@ -1208,6 +1207,13 @@ struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
> >
> >   	return fib6_rule_lookup(net, fl6, flags, ip6_pol_route_output);
> >   }
> > +EXPORT_SYMBOL_GPL(ip6_route_output_flags);
> > +
> > +struct dst_entry *ip6_route_output(struct net *net, const struct sock *sk,
> > +				   struct flowi6 *fl6)
> > +{
> > +	return ip6_route_output_flags(net, sk, fl6, 0);
> > +}
> >   EXPORT_SYMBOL(ip6_route_output);
> 
> I think this can just be a static inline function.
> 
> Is it a lot of work to introduce the flags argument globally? Most other 
> functions already have a flags parameter, maybe instead of just adding 
> another wrapper just bite the bullet and add it everywhere?

There are ~20 call sites for ip6_route_output(). Replacing them with
ip6_route_output_flags() should be trivial, but it sounds quite
invasive. Moving the new ip6_route_output() definition into the header
file as static inline function should be pretty much equivalent, may I
go with the latter option ?

Cheers,

Paolo

  reply	other threads:[~2016-01-28 12:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-27 13:45 [PATCH net 0/2] ipv6: fix sticky pktinfo behaviour Paolo Abeni
2016-01-27 13:45 ` [PATCH net 1/2] ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail() Paolo Abeni
2016-01-27 18:38   ` Hannes Frederic Sowa
2016-01-28 12:27     ` Paolo Abeni [this message]
2016-01-28 13:02       ` Hannes Frederic Sowa
2016-01-28 14:59   ` David Ahern
2016-01-28 17:04     ` Paolo Abeni
2016-01-27 13:45 ` [PATCH net 2/2] ipv6/udp: use sticky pktinfo egress ifindex on connect() Paolo Abeni

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=1453984050.5118.37.camel@redhat.com \
    --to=pabeni@redhat.com \
    --cc=davem@davemloft.net \
    --cc=dsa@cumulusnetworks.com \
    --cc=hannes@stressinduktion.org \
    --cc=lucien.xin@gmail.com \
    --cc=marcelo.leitner@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=thehajime@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.