Location:
in6_if.h
class TSoInet6IfConfig : public TSoIfConfigBase;
IPv6 interface configuration.
This is the option when stack queries the interface configuration information using
TPckgBuf<TSoInet6IfConfig> cfg;
cfg().iFamily = KAfInet6; // Query about IPv6 capability
TInt res = iNif->Control(KSOLInterface, KSoIfConfig, cfg);
The KErrNone return signifies that this NIF supports IPv6 on the link layer. Note, similarly, the IPv4 support is detected by the stack using:
TPckgBuf<TSoInetIfConfig> cfg;
cfg().iFamily = KAfInet; // Query about IPv4 capability.
TInt res = iNif->Control(KSOLInterface, KSoIfConfig, cfg);
The same NIF can support both IPv4 and IPv6.
TSoIfConfigBase
- No description.
TSoInet6IfConfig
- IPv6 interface configuration
Defined in TSoInet6IfConfig
:
iLocalId
, iNameSer1
, iNameSer2
, iRemoteId
, idPaddingBits
TSockAddr iLocalId;
The local interface id.
If the address family is not KAFUnspec, then this defines the id portion of the IPv6 addresses for this host. The id portion
is used in constructing the link-local address (fe80::id) and combined with any other prefixes, which are configured for this
interface (prefix::id). Prefixes are configured via Router Advertisement prefix option (TInet6OptionICMP_Prefix) with the
A flag set, or using interface control socket options (see TSoInet6InterfaceInfo
).
The length of the id is determined by the TSockAddr::GetUserLen
. The normal value is 8 (e.g. the standard id is always 64 bits). Other id lengths are possibly activated by future RFC's
for some special address formats.
If the address family is KAFUnspec, then id is not configured (and for the IPv6 interface to be functional, address(es), including the link-local address, must be configured by some other means).
TSockAddr iRemoteId;
The remote interface id (or KAFUnspec, if not applicaple).
If the address family is not KAFUnspec, then this defines the id portion of another host on the link. The stack constructs a link-local address (fe80::remote-id) and installs a host route for it.
This might be useful for PPP links, if other end is not acting as a router. If the other end is a router, it's address will become automaticly known, when it sends the Router Advertisement.
TUint idPaddingBits;
Unused highest significant bits in interface id (usually 0).
This is reserved for future use, in case there is a need for id length that is not multiple of 8.
TInetAddr iNameSer2;
2nd DNS address (or Unspecified address, if none)