From: "Cunningham, Joel" <Joel.Cunningham@garmin.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: Daniel Wagner <wagi@monom.org>,
"connman@lists.01.org" <connman@lists.01.org>
Subject: NETLINK_ROUTE policy routing questions
Date: Tue, 19 Jun 2018 14:17:19 +0000 [thread overview]
Message-ID: <34fbd7a6fc0441329af56c07cbb06ea6@garmin.com> (raw)
Hi,
I've been working through an issue with Connman and NETLINK_ROUTE messages as it relates to policy routing. Background can be seen here: https://lists.01.org/pipermail/connman/2018-June/022846.html
I'm using kernel 4.9.27 from ASOP releases and had a couple of questions of how NETLINK_ROUTE is intended to work and whether or not we are seeing a kernel bug.
Connman has long-running NETLINK_ROUTE socket which binds with:
memset(&addr, 0, sizeof(addr));
addr.nl_family = AF_NETLINK;
addr.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR | RTMGRP_IPV4_ROUTE |
RTMGRP_IPV6_IFADDR | RTMGRP_IPV6_ROUTE |
(1<<(RTNLGRP_ND_USEROPT-1));
Connman also creates other short-lived NETLINK_ROUTE sockets to perform setters, in particular, we have RTM_NEWROUTE and RTM_DELROUTE with a custom routing table. Connman uses policy routing to create a session based routing table. When a new interface comes online and has a gateway, Connman adds a default route to a new custom routing table. When this happens, we get a RTM_NEWROUTE message for the main table (254), but we never receive any RTM_NEWROUTE/RTM_DELROUTE messages for our custom table. Should NETLINK_ROUTE sockets bound to RTMGRP_IPV4_ROUTE be receiving updates for custom tables or only table ID < 256?
The other behavior which I ran into was originally my kernel didn't have CONFIG_IP_MULTIPLE_TABLES enabled and when Connman sent RTM_NEWROUTE/DELROUTE with the custom table, we got NETLINK_ROUTE messages for these actions being applied to the main table (254). This was corrected by enabling CONFIG_IP_MULTIPLE_TABLES in the kernel, but I was still just curious if using table 254 was a fallback mechanism rather than the setter returning an error.
Thanks,
Joel
reply other threads:[~2018-06-19 14:17 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=34fbd7a6fc0441329af56c07cbb06ea6@garmin.com \
--to=joel.cunningham@garmin.com \
--cc=connman@lists.01.org \
--cc=netdev@vger.kernel.org \
--cc=wagi@monom.org \
/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.