Skip to contentSkip to conversation

route: label externally offloaded routes

PATCH Applied [email protected] 7 participants 13 messages Mar 8, 2015 – Mar 15, 2015 1 message not in the archive

Subsystems (2)

v1 of 2 Applied Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 route: label externally offloaded routes

From: Scott Feldman <[email protected]>

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 76d8e36..fdb0a98 100644
@@ -426,6 +426,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 ");
 	if (r->rtm_flags & RTM_F_NOTIFY)
 		fprintf(fp, "notify ");
 	if (tb[RTA_MARK]) {
Signature · 1 line
1.7.10.4
Reviewed-by on v1 1/1
#1 lore raw
Quoted 19 lines · Sun, Mar 08, 2015 at 07:15:35AM CET, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

A message that is not in the archive (sent off-list or not yet received): CAJieiUgz9O7LFhzONx5JKRv0o4+6hSHNtRgKaaKAn2ph4jdC2g@mail.gmail.com

#3 lore raw
Quoted 25 lines · Roopa Prabhu
Quoted 22 lines · Jiri Pirko
Quoted 20 lines · Sun, Mar 08, 2015 at 07:15:35AM CET, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 8 lines
Quoted 2 lines
Quoted 1 line

No objections to the patch.

since this is now getting exposed to userspace and there were suggestions in the past to use words like 'hw' or 'offload' in place of 'external' here, checking to see if you are taking suggestions. If yes, would 'hw' or 'offloaded' be a better name for the flag ?.

We used "external" because that's what was used for marking FDB entries. I personally have no preference other than we be consistent for each object offloaded externally. There will be other objects we'll need to tag, such as bonds, so if there is enough objection to "external", we should make the change now for FIB abd FDB objects, and be consistent with future objects.

-scott

#4 lore raw
Quoted 31 lines · Scott Feldman
Quoted 23 lines · Roopa Prabhu
Quoted 21 lines · Jiri Pirko
Quoted 20 lines · Sun, Mar 08, 2015 at 07:15:35AM CET, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 7 lines
Quoted 1 line
Quoted 1 line

No objections to the patch.

since this is now getting exposed to userspace and there were suggestions in the past to use words like 'hw' or 'offload' in place of 'external' here, checking to see if you are taking suggestions. If yes, would 'hw' or 'offloaded' be a better name for the flag ?.

Quoted 6 lines

We used "external" because that's what was used for marking FDB entries. I personally have no preference other than we be consistent for each object offloaded externally. There will be other objects we'll need to tag, such as bonds, so if there is enough objection to "external", we should make the change now for FIB abd FDB objects, and be consistent with future objects.

agree, we should make the change now if needed to suite all types of object offloads. I would vote for 'hw' or 'offload' or 'hwoffload'.

Thanks,
Roopa

#5 lore raw
Quoted 38 lines · Mon, Mar 09, 2015 at 01:27:09AM CET, [email protected] wrote:
Quoted 31 lines · Scott Feldman
Quoted 23 lines · Roopa Prabhu
Quoted 21 lines · Jiri Pirko
Quoted 20 lines · Sun, Mar 08, 2015 at 07:15:35AM CET, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 7 lines
Quoted 1 line
Quoted 1 line

No objections to the patch.

since this is now getting exposed to userspace and there were suggestions in the past to use words like 'hw' or 'offload' in place of 'external' here, checking to see if you are taking suggestions. If yes, would 'hw' or 'offloaded' be a better name for the flag ?.

Quoted 6 lines

We used "external" because that's what was used for marking FDB entries. I personally have no preference other than we be consistent for each object offloaded externally. There will be other objects we'll need to tag, such as bonds, so if there is enough objection to "external", we should make the change now for FIB abd FDB objects, and be consistent with future objects.

Quoted 3 lines

agree, we should make the change now if needed to suite all types of object offloads.
I would vote for 'hw' or 'offload' or 'hwoffload'.

I think that exnernal sounds much better then offload. You can see rightaway that the entry has been handled externaly. What "offload" or "hw" would mean is not clear to me. I think it's too generic. And since we use "external" already for fdbs, I would stick with it.

Quoted 5 lines

Thanks,
Roopa

#6 lore raw
In reply to [email protected]
Quoted 19 lines · On 3/7/15, 10:15 PM, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

No objections to the patch.

since this is now getting exposed to userspace and there were suggestions in the past to use words like 'hw' or 'offload' in place of 'external' here, checking to see if you are taking suggestions. If yes, would 'hw' or 'offloaded' be a better name for the flag ?. Given that this will come up again for acls and such.

Thanks,
Roopa

#7 lore raw
In reply to [email protected]
Quoted 19 lines · On Sat, Mar 07, 2015 at 10:15:35PM -0800, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

You know we cannot have a thread about nomenclature without a comment from me. ;)

My only concern about 'external' is whether or not people will gloss over it since many of the routes listed will be to networks that actually are external to the system. That namespace collision could seem awkward if you are not a traditional follower of this list. Listing an FDB entry as 'external' does not have the same issue since all FDB entries are local to the system, so I didn't even think about the potential when that set was posted.

I would like to just call this 'hardware' since that is what we appear to be using for offload and would make it clear to the user that this route was in hardware as well as in the kernel. I'd say the same for FDB entries, too.

Scott, you have lots of experience in both traditional and Linux worlds, do you think my concern about confusion is unnecessary?

Quoted 37 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 76d8e36..fdb0a98 100644
@@ -426,6 +426,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 ");
 	if (r->rtm_flags & RTM_F_NOTIFY)
 		fprintf(fp, "notify ");
 	if (tb[RTA_MARK]) {
Signature · 6 lines
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#8 lore raw
Quoted 33 lines · Andy Gospodarek
Quoted 19 lines · On Sat, Mar 07, 2015 at 10:15:35PM -0800, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

You know we cannot have a thread about nomenclature without a comment from me. ;)

My only concern about 'external' is whether or not people will gloss over it since many of the routes listed will be to networks that actually are external to the system. That namespace collision could seem awkward if you are not a traditional follower of this list. Listing an FDB entry as 'external' does not have the same issue since all FDB entries are local to the system, so I didn't even think about the potential when that set was posted.

Quoted 7 lines

I would like to just call this 'hardware' since that is what we appear to be using for offload and would make it clear to the user that this route was in hardware as well as in the kernel. I'd say the same for FDB entries, too.

Scott, you have lots of experience in both traditional and Linux worlds, do you think my concern about confusion is unnecessary?

Votes so far: 1 for "external", 1 for "hardware", 1 for "offload" or "hw".

Good point about confusion wrt routes to non-local networks.

#9 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Quoted 41 lines · Scott Feldman
Quoted 39 lines · Andy Gospodarek
Quoted 18 lines · On Sat, Mar 07, 2015 at 10:15:35PM -0800, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

You know we cannot have a thread about nomenclature without a comment from me. ;)

My only concern about 'external' is whether or not people will gloss over it since many of the routes listed will be to networks that actually are external to the system. That namespace collision could seem awkward if you are not a traditional follower of this list. Listing an FDB entry as 'external' does not have the same issue since all FDB entries are local to the system, so I didn't even think about the potential when that set was posted.

I would like to just call this 'hardware' since that is what we appear to be using for offload and would make it clear to the user that this route was in hardware as well as in the kernel. I'd say the same for FDB entries, too.

Quoted 7 lines
Quoted 2 lines

Scott, you have lots of experience in both traditional and Linux worlds, do you think my concern about confusion is unnecessary?

Votes so far: 1 for "external", 1 for "hardware", 1 for "offload" or "hw".

Good point about confusion wrt routes to non-local networks.

My $0.02, "hardware" seems most appropriate to me.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJU/c+XAAoJEOVv75VaS+3O26oQAJcXXV9zqKMbme8r3Cj0XdfQ fMBPluam7f4ZLcio4x/AG41CMOp4Wr9tWwV9nz7HgOxJ5YvpWqYqMc75oLMQtC/z Ze4x0kRIS/zuk/kGD/8Lkh/ZAykjGM9J5gf1CVh5UI0D9h1Z5SCz8dkHbEkqvy8j Pf/nNH5gaZCyM9QCzirXeSZsxjUtulIHibQiVn0qYbV4NeX0hq7uYvRCJ0OIG+Hb cYJFhp2s9Lp075QELxLQqlHuZMMtX8xzL3N83AhXyyAZdW+R/Z8tjutHQsHrTdEd +ErObbVdV4794gQDqB5SnuV+yIVRaeW6crls3r56WIwJS7eM0BhYj0iQLRqX+bEq HjdUaOp+J3SbssIeLqkItBNsMtuMQWqpdBvJfPVXmFAyHaWv7i6M1S6logrBd+RH ro16bGKOX/s/i0UoNBmNFoXHItIeBpfgdPxldCekUXhbuBObx2cRPZFaAclg4eO/ LQGZALgShFrI25+fA+MlngybI8MmLk7gdASfKmlI7BNHcuMcLXomQZx009GOGdJM VQTUugAksOTUa6wMVJaNzNvtw3rszZEHwSWK+qK43om/Jsk4/1/kc3JEwDt0aZvn O7f4Yh4R3fjyWYOf5ynYXjBfG2UNrEJknkVRJb2Ui6k0nZ3xNqggV89BFi5U3uop OqrY1HzqmPz+sjSVeSzK
=wyRn
-----END PGP SIGNATURE-----

#10 lore raw
Quoted 48 lines · Jeff Kirsher

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Quoted 44 lines · Scott Feldman
Quoted 41 lines · Andy Gospodarek
Quoted 18 lines · On Sat, Mar 07, 2015 at 10:15:35PM -0800, [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

You know we cannot have a thread about nomenclature without a comment from me. ;)

My only concern about 'external' is whether or not people will gloss over it since many of the routes listed will be to networks that actually are external to the system. That namespace collision could seem awkward if you are not a traditional follower of this list. Listing an FDB entry as 'external' does not have the same issue since all FDB entries are local to the system, so I didn't even think about the potential when that set was posted.

I would like to just call this 'hardware' since that is what we appear to be using for offload and would make it clear to the user that this route was in hardware as well as in the kernel. I'd say the same for FDB entries, too.

Scott, you have lots of experience in both traditional and Linux worlds, do you think my concern about confusion is unnecessary?

Quoted 6 lines
Quoted 4 lines

Votes so far: 1 for "external", 1 for "hardware", 1 for "offload" or "hw".

Good point about confusion wrt routes to non-local networks.

My $0.02, "hardware" seems most appropriate to me.

Ditto...

Signature · 2 lines
John W. Linville		Someday the world will need a hero, and you
[email protected]			might be all we have.  Be ready.
#11 lore raw
In reply to [email protected]
Quoted 19 lines · On Sat, 7 Mar 2015 22:15:35 -0800 [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

Applied to net-next branch of iproute2

#12 lore raw
Quoted 22 lines · Stephen Hemminger
Quoted 19 lines · On Sat, 7 Mar 2015 22:15:35 -0800 [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 3 lines
Quoted 1 line

Applied to net-next branch of iproute2

Oops, sorry Stephan, I just sent a v2 with a change to the label. Can you apply that version?

Quoted 3 lines

All iproute2 commands should be invertable.
If you show something you need to accept that as input.
Please fix that.

Working on it.

#13 lore raw
In reply to [email protected]
Quoted 19 lines · On Sat, 7 Mar 2015 22:15:35 -0800 [email protected] wrote:

From: Scott Feldman <[email protected]>

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
Quoted 1 line

All iproute2 commands should be invertable.
If you show something you need to accept that as input. Please fix that.