diff mbox

[iproute2] iplink: support 'stable-privacy' IPv6 addrgenmode

Message ID 1450278914-12717-1-git-send-email-bjorn@mork.no
State Changes Requested, archived
Delegated to: stephen hemminger
Headers show

Commit Message

Bjørn Mork Dec. 16, 2015, 3:15 p.m. UTC
Signed-off-by: Bjørn Mork <bjorn@mork.no>
---
 ip/ipaddress.c        | 3 +++
 ip/iplink.c           | 4 +++-
 man/man8/ip-link.8.in | 4 ++--
 3 files changed, 8 insertions(+), 3 deletions(-)

Comments

Stephen Hemminger Dec. 18, 2015, 1:32 a.m. UTC | #1
On Wed, 16 Dec 2015 16:15:14 +0100
Bjørn Mork <bjorn@mork.no> wrote:

> Signed-off-by: Bjørn Mork <bjorn@mork.no>

Does not apply to current code base. Probably because of Hannes recent changes.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bjørn Mork Dec. 18, 2015, 12:26 p.m. UTC | #2
Stephen Hemminger <stephen@networkplumber.org> writes:
> On Wed, 16 Dec 2015 16:15:14 +0100
> Bjørn Mork <bjorn@mork.no> wrote:
>
>> Signed-off-by: Bjørn Mork <bjorn@mork.no>
>
> Does not apply to current code base. Probably because of Hannes recent changes.

Yes, I saw that you applied Hannes' ipaddress.c patch, which conficts
with this one.  No problem, either way is fine by me.  I'll redo the man
page thing as part of the next round for "addrgenmode random", if/when
that is applied to the kernel.

BTW, I didn't understand your comment regarding Hannes' iplink.c patch.
If the ipaddress patch is OK, then the iplink patch is just the part
missing for show/set symmetry.  Or did I misunderstand something?


Bjørn

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/ip/ipaddress.c b/ip/ipaddress.c
index bc8359eb9fad..07d5eee2b078 100644
--- a/ip/ipaddress.c
+++ b/ip/ipaddress.c
@@ -292,6 +292,9 @@  static void print_af_spec(FILE *fp, struct rtattr *af_spec_attr)
 		case IN6_ADDR_GEN_MODE_NONE:
 			fprintf(fp, "addrgenmode none ");
 			break;
+		case IN6_ADDR_GEN_MODE_STABLE_PRIVACY:
+			fprintf(fp, "addrgenmode stable-privacy ");
+			break;
 		}
 	}
 }
diff --git a/ip/iplink.c b/ip/iplink.c
index f30de86d1858..6d6afebb87e0 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -84,7 +84,7 @@  void iplink_usage(void)
 	fprintf(stderr, "				   [ state { auto | enable | disable} ] ]\n");
 	fprintf(stderr, "			  [ master DEVICE ]\n");
 	fprintf(stderr, "			  [ nomaster ]\n");
-	fprintf(stderr, "			  [ addrgenmode { eui64 | none } ]\n");
+	fprintf(stderr, "			  [ addrgenmode { eui64 | none | stable-privacy } ]\n");
 	fprintf(stderr, "	                  [ protodown { on | off } ]\n");
 	fprintf(stderr, "       ip link show [ DEVICE | group GROUP ] [up] [master DEV] [type TYPE]\n");
 
@@ -176,6 +176,8 @@  static int get_addr_gen_mode(const char *mode)
 		return IN6_ADDR_GEN_MODE_EUI64;
 	if (strcasecmp(mode, "none") == 0)
 		return IN6_ADDR_GEN_MODE_NONE;
+	if (strcasecmp(mode, "stable-privacy") == 0)
+		return IN6_ADDR_GEN_MODE_STABLE_PRIVACY;
 	return -1;
 }
 
diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index ac6f4813a329..133d3126973d 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -150,7 +150,7 @@  ip-link \- network device configuration
 .br
 .B nomaster " |"
 .br
-.B addrgenmode { eui64 | none }
+.B addrgenmode { eui64 | none | stable-privacy }
 .br
 .B link-netnsid ID
 .BR " }"
@@ -1029,7 +1029,7 @@  set master device of the device (enslave device).
 unset master device of the device (release device).
 
 .TP
-.BR "addrgenmode eui64 " or " addrgenmode none"
+.BR addrgenmode " eui64|none|stable-privacy"
 set IPv6 address generation mode
 
 .TP