From: Robert Shearman <rshearma@brocade.com>
To: roopa <roopa@cumulusnetworks.com>
Cc: <ebiederm@xmission.com>, <tgraf@suug.ch>, <davem@davemloft.net>,
<netdev@vger.kernel.org>
Subject: Re: [PATCH net-next RFC v2 2/3] ipv4: add support for light weight tunnel encap attributes
Date: Fri, 19 Jun 2015 18:17:45 +0100 [thread overview]
Message-ID: <55844EB9.6040107@brocade.com> (raw)
In-Reply-To: <55843522.7060804@cumulusnetworks.com>
On 19/06/15 16:28, roopa wrote:
> On 6/19/15, 8:19 AM, Robert Shearman wrote:
>> On 19/06/15 05:49, Roopa Prabhu wrote:
>>> From: Roopa Prabhu <roopa@cumulusnetworks.com>
>>>
>>> Introduces two netlink attributes RTA_ENCAP_TYPE and
>>> RTA_ENCAP to support attaching encap information to ipv4 routes.
>>
>> Surely RTA_ENCAP_TYPE should be part of RTA_ENCAP, since the type
>> doesn't make sense without the data and vice versa?
> I went back and forth on this. And started with what you are saying
> above. But then I wanted RTA_ENCAP netlink policy to be declared by
> individual lwtunnel drivers.
> And to determine which RTA_ENCAP netlink policy to pick, you need to
> know the RTA_ENCAP policy type (or lwtunnel type)
> which is encoded in RTA_ENCAP_TYPE. And I did not want to introduce
> another level of nest in RTA_ENCAP (because for nexthops we are already
> 2 levels deep when parsing RTA_ENCAP).
No need for that - use the example of how RTA_MULTIPATH is used for
ipv4/ipv6:
+----------------------+
| RTA_MULTIPATH |
+----------------------+
| +------------------+ |
| | struct rtnexthop | |
| +------------------+ |
| | RTA_GATEWAY, etc.| |
| +------------------+ |
+----------------------+
You could do similar for RTA_ENCAP where the type is stored in the data
prior to the nested attributes starting. E.g.:
+----------------------+
| RTA_ENCAP |
+----------------------+
| +------------------+ |
| | struct rtencap | |
| +------------------+ |
| | MPLS_IPTUNNEL_DST| |
| +------------------+ |
+----------------------+
struct rtencap {
__u16 rte_type;
};
>
> Hence, fib code first looks for RTA_ENCAP and if RTA_ENCAP is specified,
> RTA_ENCAP_TYPE is a required attribute. My iproute2 patches handles this
> and makes sure
> there is an RTA_ENCAP_TYPE specified with RTA_ENCAP.
No doubt, but surely it's better to present an unambiguous API to
userspace if possible?
Thanks,
Rob
next prev parent reply other threads:[~2015-06-19 17:18 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-19 4:49 [PATCH net-next RFC v2 2/3] ipv4: add support for light weight tunnel encap attributes Roopa Prabhu
2015-06-19 6:59 ` Julian Anastasov
2015-06-19 14:19 ` roopa
2015-06-19 14:55 ` Robert Shearman
2015-06-19 15:15 ` roopa
2015-06-19 15:19 ` Robert Shearman
2015-06-19 15:28 ` roopa
2015-06-19 17:17 ` Robert Shearman [this message]
2015-06-19 18:42 ` roopa
2015-06-21 20:20 ` Thomas Graf
2015-06-22 2:30 ` roopa
2015-07-03 10:00 ` Summary lightweight tunnel discussion at NFWS Thomas Graf
2015-07-05 6:21 ` roopa
2015-07-06 13:03 ` Thomas Graf
2015-07-06 15:24 ` roopa
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=55844EB9.6040107@brocade.com \
--to=rshearma@brocade.com \
--cc=davem@davemloft.net \
--cc=ebiederm@xmission.com \
--cc=netdev@vger.kernel.org \
--cc=roopa@cumulusnetworks.com \
--cc=tgraf@suug.ch \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).