diff options
author | Tore Anderson <tore@fud.no> | 2012-04-06 14:09:38 +0200 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2012-06-26 23:50:18 -0500 |
commit | 7575f4d1e451a006e4ddd9cc6caa664ce07df83f (patch) | |
tree | a0573a080393e1aee8d092cab559e374c9de737d /src/ppp-manager | |
parent | 157f1847060891d1254aa1b3203352e5086cebc1 (diff) | |
download | NetworkManager-7575f4d1e451a006e4ddd9cc6caa664ce07df83f.tar.gz |
mobile: enable IPv6CP
This patch lets pppd negotiate IPv6 parameters using IPV6CP. It allows
dual-stack mobile broadband to work correctly.
Due to the fact that ModemManager hard-codes use of IPv4-only PDP type,
the PDP context must manually be defined first using for example
AT+CGDCONT=1,"IPV4V6","apn". (ModemManager does not overwrite an
already-defined PDP context with the correct APN.)
IPV6CP is not considered essential, so when connecting using an IPv4-
only PDP context, pppd gives up after a retransmitting a few IPV6CP
ConfReqs. The retransmissions happen asynchronously, pppd nor NM waits
for them to finish before activating the IPv4 part of the connections.
The patch also makes pppd support IPv6-only connections (because IPCP
isn't considered essential by pppd either), however NM will currently
fail the entire connection if IPCP/IPv4 doesn't succeed.
Diffstat (limited to 'src/ppp-manager')
-rw-r--r-- | src/ppp-manager/nm-ppp-manager.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c index 57ff12d03b..73cc566fab 100644 --- a/src/ppp-manager/nm-ppp-manager.c +++ b/src/ppp-manager/nm-ppp-manager.c @@ -827,6 +827,10 @@ create_pppd_cmd_line (NMPPPManager *self, /* NM handles setting the default route */ nm_cmd_line_add_string (cmd, "nodefaultroute"); + /* Allow IPv6 to be configured by IPV6CP */ + nm_cmd_line_add_string (cmd, "ipv6"); + nm_cmd_line_add_string (cmd, ","); + ppp_debug = !!getenv ("NM_PPP_DEBUG"); if ( nm_logging_level_enabled (LOGL_DEBUG) && nm_logging_domain_enabled (LOGD_PPP)) |