From: David Ahern <dsa@cumulusnetworks•com>
To: Andreas Schultz <aschultz@tpip•net>, netdev@vger•kernel.org
Subject: Re: [net-next]: unable to add routes to tables
Date: Tue, 18 Aug 2015 11:26:15 -0600 [thread overview]
Message-ID: <55D36AB7.3040005@cumulusnetworks.com> (raw)
In-Reply-To: <1029376325.2912846.1439917035503.JavaMail.zimbra@tpip.net>
[-- Attachment #1: Type: text/plain, Size: 855 bytes --]
On 8/18/15 10:57 AM, Andreas Schultz wrote:
> Hi,
>
> It seems that the policy for adding routes to tables has changed between
> Linux 4.2-rc6 and net-next.
>
> In Linux main line (tested up to 4.2-rc6), with this main routing table:
> # ip route show table main
> ...
> 172.28.0.0/24 dev vnf-xe1p0 proto kernel scope link src 172.28.0.16
>
> and an empty table 100, this works:
>
> # ip route add 10.0.0.0/8 via 172.28.0.32 table 100 dev vnf-xe1p0
>
> With net-next at commit d52736e24fe2e927c26817256f8d1a3c8b5d51a0, the
> same command leads to an:
>
> # ip route add 10.0.0.0/8 via 172.28.0.32 table 100 dev vnf-xe1p0
> RTNETLINK answers: Resource temporarily unavailable
>
> Is this expected behavior?
>
The attached works for me and so does my original problem. Can you
confirm it resolves your problem? If so I'll send a formal patch.
David
[-- Attachment #2: fix-nexthop-lookup.path --]
[-- Type: text/plain, Size: 721 bytes --]
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index c8025851dac7..01a237278dd2 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -710,9 +710,16 @@ static int fib_check_nh(struct fib_config *cfg, struct fib_info *fi,
err = fib_table_lookup(tbl, &fl4, &res,
FIB_LOOKUP_IGNORE_LINKSTATE |
FIB_LOOKUP_NOREF);
- else
+
+ /* on error or if no table given do full lookup. This is
+ * needed for example when nexthops are in the local table
+ * rather than the given table
+ */
+ if (!tbl || err) {
err = fib_lookup(net, &fl4, &res,
FIB_LOOKUP_IGNORE_LINKSTATE);
+ }
+
if (err) {
rcu_read_unlock();
return err;
next prev parent reply other threads:[~2015-08-18 17:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-18 16:57 [net-next]: unable to add routes to tables Andreas Schultz
2015-08-18 17:05 ` David Ahern
2015-08-18 17:26 ` David Ahern [this message]
2015-08-19 10:38 ` Andreas Schultz
2015-08-19 18:40 ` [PATCH] net: Fix nexthop lookups David Ahern
2015-08-20 21:43 ` 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=55D36AB7.3040005@cumulusnetworks.com \
--to=dsa@cumulusnetworks$(echo .)com \
--cc=aschultz@tpip$(echo .)net \
--cc=netdev@vger$(echo .)kernel.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