From: Jiri Benc <jbenc@redhat.com>
To: Robert Shearman <rshearma@Brocade.com>
Cc: <davem@davemloft.net>, <netdev@vger.kernel.org>,
Roopa Prabhu <roopa@cumulusnetworks.com>,
"Tom Herbert" <tom@herbertland.com>, Thomas Graf <tgraf@suug.ch>,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [PATCH net-next 1/3] lwtunnel: autoload of lwt modules
Date: Mon, 15 Feb 2016 17:02:32 +0100 [thread overview]
Message-ID: <20160215170232.5f73b111@griffin> (raw)
In-Reply-To: <1455550923-23673-2-git-send-email-rshearma@brocade.com>
On Mon, 15 Feb 2016 15:42:01 +0000, Robert Shearman wrote:
> +static const char *lwtunnel_encap_str(enum lwtunnel_encap_types encap_type)
> +{
> + switch (encap_type) {
> + case LWTUNNEL_ENCAP_MPLS:
> + return "LWTUNNEL_ENCAP_MPLS";
> + case LWTUNNEL_ENCAP_IP:
> + return "LWTUNNEL_ENCAP_IP";
> + case LWTUNNEL_ENCAP_ILA:
> + return "LWTUNNEL_ENCAP_ILA";
> + case LWTUNNEL_ENCAP_IP6:
> + return "LWTUNNEL_ENCAP_IP6";
> + case LWTUNNEL_ENCAP_NONE:
> + case __LWTUNNEL_ENCAP_MAX:
> + /* should not have got here */
> + break;
> + }
> + WARN_ON(1);
> + return "LWTUNNEL_ENCAP_NONE";
> +}
> +
> +#endif /* CONFIG_MODULES */
> +
> struct lwtunnel_state *lwtunnel_state_alloc(int encap_len)
> {
> struct lwtunnel_state *lws;
> @@ -85,6 +109,14 @@ int lwtunnel_build_state(struct net_device *dev, u16 encap_type,
> ret = -EOPNOTSUPP;
> rcu_read_lock();
> ops = rcu_dereference(lwtun_encaps[encap_type]);
> +#ifdef CONFIG_MODULES
> + if (!ops) {
> + rcu_read_unlock();
> + request_module("rtnl-lwt-%s", lwtunnel_encap_str(encap_type));
Why the repeating of "lwt"/"LWTUNNEL" and the unnecessary "ENCAP"?
Wouldn't be lwtunnel_encap_str returning just "MPLS" or "ILA" enough?
I don't have any strong preference here, it just looks weird to me.
Maybe there's a reason.
Also, this doesn't affect IP lwtunnels, i.e. LWTUNNEL_ENCAP_IP and
LWTUNNEL_ENCAP_IP6. Should we just return NULL from lwtunnel_encap_str
in such cases (plus unknown encap_type) and WARN on the NULL here?
Jiri
--
Jiri Benc
next prev parent reply other threads:[~2016-02-15 16:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-15 15:42 [PATCH net-next 0/3] lwtunnel: autoload of lwt modules Robert Shearman
2016-02-15 15:42 ` [PATCH net-next 1/3] " Robert Shearman
2016-02-15 16:02 ` Jiri Benc [this message]
2016-02-15 16:22 ` Robert Shearman
2016-02-15 16:32 ` Jiri Benc
2016-02-15 18:08 ` Robert Shearman
2016-02-15 21:33 ` Eric W. Biederman
2016-02-16 14:14 ` Robert Shearman
2016-02-15 15:42 ` [PATCH net-next 2/3] mpls: autoload lwt module Robert Shearman
2016-02-15 15:42 ` [PATCH net-next 3/3] ila: autoload module Robert Shearman
2016-02-19 9:43 ` [PATCH net-next v2 0/3] lwtunnel: autoload of lwt modules Robert Shearman
2016-02-19 9:43 ` [PATCH net-next v2 1/3] " Robert Shearman
2016-02-19 9:43 ` [PATCH net-next v2 2/3] mpls: autoload lwt module Robert Shearman
2016-02-19 9:43 ` [PATCH net-next v2 3/3] ila: autoload module Robert Shearman
2016-02-22 3:00 ` [PATCH net-next v2 0/3] lwtunnel: autoload of lwt modules David Miller
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=20160215170232.5f73b111@griffin \
--to=jbenc@redhat.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=netdev@vger.kernel.org \
--cc=roopa@cumulusnetworks.com \
--cc=rshearma@Brocade.com \
--cc=tgraf@suug.ch \
--cc=tom@herbertland.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.