naccyde / rpms / iproute

Forked from rpms/iproute 9 months ago
Clone
Blob Blame History Raw
From 61ce940e17bcc13378c59fed8247a1afa7ae918d Mon Sep 17 00:00:00 2001
From: Phil Sutter <psutter@redhat.com>
Date: Tue, 28 Feb 2017 16:10:39 +0100
Subject: [PATCH] iproute2: unify naming for entries offloaded to hardware

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1417289
Upstream Status: iproute2.git commit aa05b988f53b5

commit aa05b988f53b5ce68f25c5b4e52c6bd3e32a6347
Author: Andy Gospodarek <gospo@cumulusnetworks.com>
Date:   Fri Apr 10 16:50:40 2015 -0400

    iproute2: unify naming for entries offloaded to hardware

    The kernel now has the capability to offload FDB and FIB entries to hardware.
    It is important to let users know if table entries are also offloaded to
    hardware.  Currently offloaded FDB entries are indicated by the existence of
    the flag 'external' on the entry as of the following commit:

    commit 28467b7f3facd6114b2fbe0c9fecf57adbd52e12
    Author: Scott Feldman <sfeldma@gmail.com>
    Date:   Thu Dec 4 09:57:15 2014 +0100

        bridge/fdb: add flag/indication for FDB entry synced from offload device

    When the patch to add support for indicating that FIB entries were also
    offloaded as posted to netdev by Scott Feldman it became clear that 'external'
    would not be an ideal name for routes.  There could definitely be confusion
    about what this might mean since many routes are to external networks -- a
    collision/confusion that did not happen with FDB.

    Scott Feldman asked me to check with others and build concensus around a name.
    After speaking with several people about this I am proposing we refer to both
    FDB and FIB entries that are currently backed by hardware (based on the work
    done in rocker) with the flag 'offload' appended to the end ofthe entry.

    Some people liked the string 'external,' others liked 'hardware,' but the point
    is to communicate that these routes are available to something that will will
    offload the forwarding normally done by the kernel.  Since the term 'offload'
    is used so frequently it seems appropriate to use the same language in
    ip/bridge output.

    The term 'offload' also seems to resonate with many of the people who have
    responded on Scott's original thread or to those who I reached out to directly
    and did respond to my query, so it seems we have reached consensus that it
    should be the term used going forward.

    v2: rebased against net-next branch

    Signed-off-by: Andy Gospodarek <gospo@cumulusnetworks.com>
    CC: Jamal Hadi Salim <jhs@mojatatu.com>
    CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    CC: Jiri Pirko <jiri@resnulli.us>
    CC: John W. Linville <linville@tuxdriver.com>
    CC: Roopa Prabhu <roopa@cumulusnetworks.com>
    CC: Scott Feldman <sfeldma@gmail.com>
    CC: Stephen Hemminger <stephen@networkplumber.org>
---
 bridge/fdb.c | 2 +-
 ip/iproute.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bridge/fdb.c b/bridge/fdb.c
index 3020633..edf621c 100644
--- a/bridge/fdb.c
+++ b/bridge/fdb.c
@@ -159,7 +159,7 @@ int print_fdb(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 	if (r->ndm_flags & NTF_ROUTER)
 		fprintf(fp, "router ");
 	if (r->ndm_flags & NTF_EXT_LEARNED)
-		fprintf(fp, "external ");
+		fprintf(fp, "offload ");
 
 	fprintf(fp, "%s\n", state_n2a(r->ndm_state));
 	return 0;
diff --git a/ip/iproute.c b/ip/iproute.c
index 6d64469..3f4b91a 100644
--- a/ip/iproute.c
+++ b/ip/iproute.c
@@ -439,7 +439,7 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 	if (r->rtm_flags & RTNH_F_PERVASIVE)
 		fprintf(fp, "pervasive ");
 	if (r->rtm_flags & RTNH_F_EXTERNAL)
-		fprintf(fp, "external ");
+		fprintf(fp, "offload ");
 	if (r->rtm_flags & RTM_F_NOTIFY)
 		fprintf(fp, "notify ");
 	if (tb[RTA_MARK]) {
-- 
1.8.3.1