| From afad6424413533ddf60b66c61f19e016bee98435 Mon Sep 17 00:00:00 2001 |
| From: "Ian K. Coolidge" <icoolidge@loon.com> |
| Date: Thu, 21 May 2020 21:07:52 -0700 |
| Subject: [PATCH] ip addr: Accept 'optimistic' flag |
| |
| Upstream status: |
| https://patchwork.ozlabs.org/project/netdev/patch/20200524015144.44017-1-icoolidge@google.com/ |
| |
| --- |
| ip/ipaddress.c | 7 ++++++- |
| man/man8/ip-address.8.in | 7 ++++++- |
| 2 files changed, 12 insertions(+), 2 deletions(-) |
| |
| diff --git a/ip/ipaddress.c b/ip/ipaddress.c |
| index 80d27ce2..48cf5e41 100644 |
| --- a/ip/ipaddress.c |
| +++ b/ip/ipaddress.c |
| @@ -72,7 +72,7 @@ static void usage(void) |
| " [-]tentative | [-]deprecated | [-]dadfailed | temporary |\n" |
| " CONFFLAG-LIST ]\n" |
| "CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG\n" |
| - "CONFFLAG := [ home | nodad | mngtmpaddr | noprefixroute | autojoin ]\n" |
| + "CONFFLAG := [ home | nodad | optimistic | mngtmpaddr | noprefixroute | autojoin ]\n" |
| "LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]\n" |
| "LFT := forever | SECONDS\n" |
| "TYPE := { vlan | veth | vcan | vxcan | dummy | ifb | macvlan | macvtap |\n" |
| @@ -2335,6 +2335,11 @@ static int ipaddr_modify(int cmd, int flags, int argc, char **argv) |
| ifa_flags |= IFA_F_HOMEADDRESS; |
| else |
| fprintf(stderr, "Warning: home option can be set only for IPv6 addresses\n"); |
| + } else if (strcmp(*argv, "optimistic") == 0) { |
| + if (req.ifa.ifa_family == AF_INET6) |
| + ifa_flags |= IFA_F_OPTIMISTIC; |
| + else |
| + fprintf(stderr, "Warning: optimistic option can be set only for IPv6 addresses\n"); |
| } else if (strcmp(*argv, "nodad") == 0) { |
| if (req.ifa.ifa_family == AF_INET6) |
| ifa_flags |= IFA_F_NODAD; |
| diff --git a/man/man8/ip-address.8.in b/man/man8/ip-address.8.in |
| index 2a553190..fe773c91 100644 |
| --- a/man/man8/ip-address.8.in |
| +++ b/man/man8/ip-address.8.in |
| @@ -92,7 +92,7 @@ ip-address \- protocol address management |
| |
| .ti -8 |
| .IR CONFFLAG " := " |
| -.RB "[ " home " | " mngtmpaddr " | " nodad " | " noprefixroute " | " autojoin " ]" |
| +.RB "[ " home " | " mngtmpaddr " | " nodad " | " optimstic " | " noprefixroute " | " autojoin " ]" |
| |
| .ti -8 |
| .IR LIFETIME " := [ " |
| @@ -258,6 +258,11 @@ stateless auto-configuration was active. |
| (IPv6 only) do not perform Duplicate Address Detection (RFC 4862) when |
| adding this address. |
| |
| +.TP |
| +.B optimistic |
| +(IPv6 only) When performing Duplicate Address Detection, use the RFC 4429 |
| +optimistic variant. |
| + |
| .TP |
| .B noprefixroute |
| Do not automatically create a route for the network prefix of the added |
| -- |
| 2.27.0.rc0.183.gde8f92d652-goog |
| |