Re: WWAN, PPP, and IPv6 configuration questions



On Fri, 2014-04-11 at 07:26 +0200, Tore Anderson wrote:
* Dan Williams

I eventually got it working for PPP and DHCP/SLAAC, using the
dcbw/icera-ipv6 (ModemManager) and dcbw/wwan-ipv6 (NetworkManager)
branches.

Cool! I'll try to give it a spin this weekend.

NM will replace the IPv6 address set by pppd with the correct /64
address.  It will then start RA on the interface and end up with the
global IPv6 address.  Obviously as we've found before you'll need to
hardcode the DNS servers since firmware doesn't proxy those into the
RAs.

I think a better way than requiring hard-coded DNS servers would be to
have MM expose the network-provided DNS server as a bearer property,
which NM can then read and configure the system with.

Considering that MM already provides the network-provided Interface ID
to NM, this probably isn't too hard to implement, as MM will be able to
find the DNS server right alongside the Interface ID. For Icera, it will
be listed in output from AT%IPDPADDR? and for Ericsson it will be in
AT*IPCFG?, for example:

%IPDPADDR: 1, 188.149.56.47, 188.149.56.48, 188.149.250.18, 0.0.0.0, 0.0.0.0, 0.0.0.0, 255.255.0.0, 
188.149.56.48
%IPDPADDR: 1, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, 0.0.0.0, fe80::3:a30d:3701, 
::, 2a00:e18:0:3::6, ::, ::, ::, ::, ::
%IPDPADDR: 1, 188.149.56.47, 188.149.56.48, 188.149.250.18, 0.0.0.0, 0.0.0.0, 0.0.0.0, 255.255.0.0, 
188.149.56.48, fe80::3:1f3:1501, ::, 2a00:e18:0:3::6, ::, ::, ::, ::, ::
*E2IPCFG: (1,"fe80:0000:0000:0000:0000:0006:9058:4701")(3,"2a00:0e18:0000:0003:0000:0000:0000:0006") 

Yes, that would be the way to do it.  When I was testing PPP though, it
was because ModemManager had screwed up and wasn't recognizing the 21M
as an Icera device, and thus it wasn't running IPDPADDR at all.

The way dcbw/icera-ipv6 works is to pull all of the information from
IPDPADDR and stuff it into the bearer IP configuration, so it's already
doing what you propose :)  NetworkManager should read that information
and add it to resolv.conf too.  If not, that's a bug in the branch.

These are the outputs from my Icera (PDP types IP, IPV6, and IPV4V6),
and from my Ericsson (PDP type IPV6), respectively. The DNS servers
provided by the network are 188.149.250.18 and 2a00:e18:0:3::6. The
fe80::* address is the network-provided LL address.

I haven't touched the Ericsson stuff yet, since it should work OK with
DHCP?  But we should probably do the same thing for Ericsson as the code
does for Icera, which is as you suggest, read all available IP details
and send that to NetworkManager before continuing with SLAAC.

Interestingly, the "remote" LL address given by pppd is nowhere to
be found. I wonder if it might be something pppd (or the firmware)
invents on the spot. (In my case, I can ping *any* address in
fe80::/64, the network responds to them all.) If so that would
another argument for not using the "peer" construct when adding
the address to the interface.

It seems to work though...  the firmware is probably just making stuff
up, and it probably doesn't care at all what the address actually is.

Dan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]