Skip to contentSkip to conversation

route: label externally offloaded routes

PATCH In review [email protected] 5 participants 10 messages Mar 15, 2015 – Mar 25, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 route: label externally offloaded routes

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

v1:

On ip route print dump, label externally offloaded routes with "external". Offloaded routes are flagged with RTNH_F_EXTERNAL, a recent additon to net-next. For example:

$ ip route
default via 192.168.0.2 dev eth0
11.0.0.0/30 dev swp1  proto kernel  scope link  src 11.0.0.2 external
11.0.0.4/30 via 11.0.0.1 dev swp1  proto zebra  metric 20 external
11.0.0.8/30 dev swp2  proto kernel  scope link  src 11.0.0.10 external
11.0.0.12/30 via 11.0.0.9 dev swp2  proto zebra  metric 20 external
12.0.0.2  proto zebra  metric 30 external
        nexthop via 11.0.0.1  dev swp1 weight 1
        nexthop via 11.0.0.9  dev swp2 weight 1
12.0.0.3 via 11.0.0.1 dev swp1  proto zebra  metric 20 external
12.0.0.4 via 11.0.0.9 dev swp2  proto zebra  metric 20 external
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.15
---
 include/linux/rtnetlink.h |    1 +
 ip/iproute.c              |    2 ++
 2 files changed, 3 insertions(+)
include/linux/rtnetlink.h +1 -0
index 3eb7810..c74773c 100644
@@ -332,6 +332,7 @@ struct rtnexthop {
 #define RTNH_F_DEAD		1	/* Nexthop is dead (used by multipath)	*/
 #define RTNH_F_PERVASIVE	2	/* Do recursive gateway lookup	*/
 #define RTNH_F_ONLINK		4	/* Gateway is forced on link	*/
+#define RTNH_F_EXTERNAL		8	/* Route installed externally   */
 
 /* Macros to handle hexthops */
 
ip/iproute.c +2 -0
index b32025f..ffdf4f2 100644
@@ -412,6 +412,8 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 		fprintf(fp, "onlink ");
 	if (r->rtm_flags & RTNH_F_PERVASIVE)
 		fprintf(fp, "pervasive ");
+	if (r->rtm_flags & RTNH_F_EXTERNAL)
+		fprintf(fp, "external_offload ");
 	if (r->rtm_flags & RTM_F_NOTIFY)
 		fprintf(fp, "notify ");
 	if (tb[RTA_MARK]) {
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Quoted 7 lines

v1:

On ip route print dump, label externally offloaded routes with "external". Offloaded routes are flagged with RTNH_F_EXTERNAL, a recent additon to net-next. For example:

Quoted 12 lines
$ ip route
default via 192.168.0.2 dev eth0
11.0.0.0/30 dev swp1  proto kernel  scope link  src 11.0.0.2 external
11.0.0.4/30 via 11.0.0.1 dev swp1  proto zebra  metric 20 external
11.0.0.8/30 dev swp2  proto kernel  scope link  src 11.0.0.10 external
11.0.0.12/30 via 11.0.0.9 dev swp2  proto zebra  metric 20 external
12.0.0.2  proto zebra  metric 30 external
        nexthop via 11.0.0.1  dev swp1 weight 1
        nexthop via 11.0.0.9  dev swp2 weight 1
12.0.0.3 via 11.0.0.1 dev swp1  proto zebra  metric 20 external
12.0.0.4 via 11.0.0.9 dev swp2  proto zebra  metric 20 external
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.15

I understand why you did this the way you did (keeping the changelog the same with the only change being the parts listed in 'v2'), but could you change the new output to reflect the code change? Readers of the git log would probably be confused by this.

(Sorry to debate such a simple patch, but this is the interface most will use so it seems like a good idea to make sure we are thinking about it in the proper context. Healthy debate on the mailing-list seems like a great way to track the reason behind some of these decisions.)

Quoted 35 lines
---
 include/linux/rtnetlink.h |    1 +
 ip/iproute.c              |    2 ++
 2 files changed, 3 insertions(+)
include/linux/rtnetlink.h +1 -0
index 3eb7810..c74773c 100644
@@ -332,6 +332,7 @@ struct rtnexthop {
 #define RTNH_F_DEAD		1	/* Nexthop is dead (used by multipath)	*/
 #define RTNH_F_PERVASIVE	2	/* Do recursive gateway lookup	*/
 #define RTNH_F_ONLINK		4	/* Gateway is forced on link	*/
+#define RTNH_F_EXTERNAL		8	/* Route installed externally   */
 
 /* Macros to handle hexthops */
 
ip/iproute.c +2 -0
index b32025f..ffdf4f2 100644
@@ -412,6 +412,8 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 		fprintf(fp, "onlink ");
 	if (r->rtm_flags & RTNH_F_PERVASIVE)
 		fprintf(fp, "pervasive ");
+	if (r->rtm_flags & RTNH_F_EXTERNAL)
+		fprintf(fp, "external_offload ");
 	if (r->rtm_flags & RTM_F_NOTIFY)
 		fprintf(fp, "notify ");
 	if (tb[RTA_MARK]) {
Signature · 1 line
1.7.10.4
#2 lore raw
Quoted 5 lines · Andy Gospodarek
Quoted 4 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

Quoted 10 lines
Quoted 4 lines

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

+1

#3 lore raw
In reply to Andy Gospodarek
Quoted 10 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

Quoted 4 lines

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

("koff" was my first choice, but apparently that already has a not-so-nice meaning).

-scott

#4 lore raw
Quoted 17 lines · Tue, Mar 17, 2015 at 05:14:50AM CET, [email protected] wrote:
Quoted 10 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

Quoted 4 lines

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Quoted 7 lines

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

I like it :)

Quoted 5 lines

("koff" was my first choice, but apparently that already has a not-so-nice meaning).

-scott

#5 lore raw
In reply to Scott Feldman
Quoted 12 lines · Scott Feldman
Quoted 10 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

Quoted 7 lines
Quoted 4 lines

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

Absolutely. I felt bad responding with more complaints yesterday without proposing an alternative patch.

I'll be happy to handle this -- it will elimininate at least one complainer!

Quoted 4 lines

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

Bless you!

#6 lore raw
Quoted 18 lines · Tue, Mar 17, 2015 at 02:24:56PM CET, [email protected] wrote:
Quoted 17 lines · Scott Feldman
Quoted 14 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Quoted 14 lines
Quoted 2 lines

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

Absolutely. I felt bad responding with more complaints yesterday without proposing an alternative patch.

I'll be happy to handle this -- it will elimininate at least one complainer!

Quoted 4 lines

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

Hmm, on the second thought, shouldn't it be rather "extoff" ?

Quoted 3 lines

Bless you!

#7 lore raw
Quoted 29 lines · Jiri Pirko
Quoted 28 lines · Tue, Mar 17, 2015 at 02:24:56PM CET, [email protected] wrote:
Quoted 12 lines · Scott Feldman
Quoted 10 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

Quoted 7 lines
Quoted 4 lines

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

Absolutely. I felt bad responding with more complaints yesterday without proposing an alternative patch.

I'll be happy to handle this -- it will elimininate at least one complainer!

Quoted 7 lines
Quoted 4 lines
Quoted 4 lines

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

Hmm, on the second thought, shouldn't it be rather "extoff" ?

I'm really liking the sound of 'extoffk' ;)

#8 lore raw
Quoted 35 lines · On Tue, 17 Mar 2015 15:15:57 -0400 Andy Gospodarek <[email protected]>…
Quoted 34 lines · Jiri Pirko
Quoted 32 lines · Tue, Mar 17, 2015 at 02:24:56PM CET, [email protected] wrote:
Quoted 12 lines · Scott Feldman
Quoted 10 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

Quoted 7 lines
Quoted 4 lines

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

Absolutely. I felt bad responding with more complaints yesterday without proposing an alternative patch.

I'll be happy to handle this -- it will elimininate at least one complainer!

Quoted 4 lines

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

Quoted 5 lines
Quoted 2 lines

Hmm, on the second thought, shouldn't it be rather "extoff" ?

I'm really liking the sound of 'extoffk' ;)

I am bouncing this patch, come back when you decide on a name.

#9 lore raw

On Tue, Mar 24, 2015 at 03:51:37PM -0700, Stephen Hemminger wrote:
jG> On Tue, 17 Mar 2015 15:15:57 -0400

Quoted 37 lines
Quoted 35 lines · Andy Gospodarek
Quoted 34 lines · Jiri Pirko
Quoted 32 lines · Tue, Mar 17, 2015 at 02:24:56PM CET, [email protected] wrote:
Quoted 12 lines · Scott Feldman
Quoted 10 lines · Andy Gospodarek
Quoted 8 lines · On Sun, Mar 15, 2015 at 12:31:34PM -0700, [email protected] wrote:

From: Scott Feldman <[email protected]>

v2:

No clear outcome on polling for choices of "external", "offload", "hw", or "hardware". Andy's concern about "external" being confusing for users is valid. So, I'm making executive decision to use "external_offload" for label, as suggested by Jiri.

Quoted 7 lines
Quoted 4 lines

This seems like quite a mouthful. Just make it 'offload' or 'hardware' so the output of 'ip route show' isn't so long that it will frequently be longer than 80 chars. Being longer than 80 chars is going to be irritating for _many_ users.

Andy, since you have passion on this topic, would you mind taking it from here to get consensus, and post an updated patch, if needed?

Absolutely. I felt bad responding with more complaints yesterday without proposing an alternative patch.

I'll be happy to handle this -- it will elimininate at least one complainer!

Quoted 4 lines

I was about to suggest a new made-up work like "keroff" and someday the new word is added to Websters . Daddy, what's "keroff"? Oh son, that means "offloaded from kernel to external device". Ya, actually, that's my vote: keroff.

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Hmm, on the second thought, shouldn't it be rather "extoff" ?

I'm really liking the sound of 'extoffk' ;)

I am bouncing this patch, come back when you decide on a name.

Based on the polling I did, the concensus was that people preferred to use the string 'offload' to describe these entries. I'll submit the patch I had prepared now.