Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: in6_if.h

Class TSoInet6IfConfig

class TSoInet6IfConfig : public TSoIfConfigBase;

Description

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.

Derivation

Members

Defined in TSoInet6IfConfig:
iLocalId, iNameSer1, iNameSer2, iRemoteId, idPaddingBits


Member data


iLocalId

TSockAddr iLocalId;

Description

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).


iRemoteId

TSockAddr iRemoteId;

Description

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.


idPaddingBits

TUint idPaddingBits;

Description

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.


iNameSer1

TInetAddr iNameSer1;

Description

1st DNS address (or Unspecified address, if none)


iNameSer2

TInetAddr iNameSer2;

Description

2nd DNS address (or Unspecified address, if none)