diff options
author | Gert Doering <gert@greenie.muc.de> | 2012-06-10 17:41:27 +0200 |
---|---|---|
committer | David Sommerseth <davids@redhat.com> | 2012-06-13 12:20:01 +0200 |
commit | c37d9135a27b05ff9088ca6c349fca06de89444b (patch) | |
tree | ce89162649f0b9d6aaff0f7e0ad770409e269efc /src/openvpn/tun.c | |
parent | fe8a7f0cc25e6b9492bf0613025873c7a5f46ca5 (diff) | |
download | openvpn-c37d9135a27b05ff9088ca6c349fca06de89444b.tar.gz openvpn-c37d9135a27b05ff9088ca6c349fca06de89444b.tar.xz openvpn-c37d9135a27b05ff9088ca6c349fca06de89444b.zip |
cleanup and redefine metric handling for IPv6 routes
"no metric set" is now stored as "-1"
"metric 0" means "on-link route" (what the BSDs do)
properly initialize metric value to "0" for on-link IPv6 net on BSDs
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: David Sommerseth <davids@redhat.com>
Message-Id: 1339342891-28443-2-git-send-email-gert@greenie.muc.de
URL: http://article.gmane.org/gmane.network.openvpn.devel/6710
Signed-off-by: David Sommerseth <davids@redhat.com>
Diffstat (limited to 'src/openvpn/tun.c')
-rw-r--r-- | src/openvpn/tun.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index c9edbb8..6cef942 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -600,6 +600,8 @@ void add_route_connected_v6_net(struct tuntap * tt, r6.network = tt->local_ipv6; r6.netbits = tt->netbits_ipv6; r6.gateway = tt->local_ipv6; + r6.metric = 0; /* connected route */ + r6.metric_defined = true; add_route_ipv6 (&r6, tt, 0, es); } @@ -612,6 +614,8 @@ void delete_route_connected_v6_net(struct tuntap * tt, r6.network = tt->local_ipv6; r6.netbits = tt->netbits_ipv6; r6.gateway = tt->local_ipv6; + r6.metric = 0; /* connected route */ + r6.metric_defined = true; delete_route_ipv6 (&r6, tt, 0, es); } #endif |