TSoInet6InterfaceInfo Class Reference

#include <in_sock.h>

class TSoInet6InterfaceInfo : public TSoInetInterfaceInfo

Inherits from

Detailed Description

Extension for TSoInetInterfaceInfo. Available in Symbian OS v7.0 and later.

Used with the following interface level KSolInetIfCtrl options: The following configuration changes are only activated with KSoInetConfigInterface and KSoInetChangeInterface options. For these two, the extension specifies the details of actions to be performed. The extension is a collection of control bits, which can be grouped as
The effect of the modifiers depend on the chosen action (in some actions modifiers are ignored). The iDoState can be combined with any other actions, but for the remaining only the following combinations are valid:
  • no address configuration: iDoId=0, iDoPrefix=0 (iDoProxy, iDoAnycast, iDelete and iAlias are ignored).

  • configure single IPv6 or IPv4 address: iDoid, iAddress has the address, iNetMask unspecified.

  • configure IPv6 id part: iDoId, iAddress is IPv6 address (fe80::id) and iNetMask defined (for 64 bits, use ffff:ffff:ffff:ffff::).

  • configure IPv4 address and netmask: iDoId, iNetMask defined.

  • configure IPv6 or IPv4 anycast address: iDoId, iDoAnycast, iAddress has the address (iNetMask ignored).

  • configure IPv6 or IPv4 proxy address: iDoId, iDoProxy, iAddress has the address (iNetMask ignored).

  • configure IPv6 prefix and id part: iDoId, iDoPrefix, iAddress is the IPv6 address (prefix::id) and iNetMask defined (for 64 bits, use ffff:ffff:ffff:ffff::).

  • configure IPv6 prefix: iDoPrefix, iAddress is the prefix (prefix::) and iNetMask defined (for 64 bits, use ffff:ffff:ffff:ffff::).

The default route is processed if iDefGate is specified. If the gateway address is an IPv4 address, then it defines IPv4 default route. Additionally, if the iDefGate is same as iAddress, then this is interpreted as a request to treat the default route as "onlink route" instead of the normal gateway route. iDelete modifier controls whether default route is added or deleted.

The MTU is updated, if iMtu has non-zero value.

Available in Symbian OS v9.2 and later.

Used with the following interface level KSolInetIfCtrl option: This configuration acts as a notification from a config daemon to the IP stack which controls link local behaviour if the llv4linklocal=ELLV4ConfigDeamonControlled TCPIP.ini option is specified for the interface:
  • notification from config daemon (e.g., DHCP) that address assignment terminated so a link local should be created if appropriate TCPIP.ini setting is used: iDoState.

Since
7.0 (some functionality only in 7.0s and >=9.3 for config daemon controlled link local creation)

Member Attribute Documentation

iAlias

TUint iAlias

Primary or alias modifier.

0 = primary, 1 = alias.

Note:

Always use 1 here (this is a relic, that most likely should be deprecated, and defaulted to 1 always).

iDelete

TUint iDelete

Add or delete modifier.

0 = add, 1 = delete

Modifies the actions for address configuration (iDoId, iDoPrefix) and iDefGate processing (see detail descripton above).

iDoAnycast

TUint iDoAnycast

Configure address as Anycast.

The anycast address is defined by iAddress.

Anycast address is recognized as own address for incoming packets, but it cannot be used as a source address for outgoing packets. IPv6 DAD (or IPv4 ARP duplicate address) test is not done for anycast addresses. Anycast address is advertised on the link as an address of this host.

1 = configure anycast (iDoId must also be set, iDoPrefix is ignored)

  • iDelete=0: Add anycast address.

  • iDelete=1: Remove the previously configured anycast address.

Since
7.0s

iDoId

TUint iDoId

Address action.

0 = don't do address, 1= do the address.

iAddress must be specified.

Note:

If also either iDoAnycast or iDoProxy is set, then the action is special for them (and the following does not apply).

If iNetMask is unspecified, then iAddress defines a single address (either IPv4 or IPv6) which is to be added or removed, depending on the state of the iDelete modifier. iAlias is ignored.

If iNetMask is specified, then the following applies:

  • iDelete=0 and iAddress is IPv4 address: iAddress and iNetMask are used to configure additional IPv4 address and netmask for the interface.

  • iDelete=0 and iAddress is IPv6 address The iNetmask and iAddress define a ID part, which can be combined with any defined prefix to form a full IPv6 address. If iAlias is set, then a new ID is added; otherwise whatever happens to be stored in the primary id slot is overwritten (always use iAlias=1 to avoid confusion).

  • iDelete=1: The previously configured address or ID is deleted.

Note:

The IPv4 netmask alone cannot be added or deleted. Use KSolInetRtCtrl options.

iDoPrefix

TUint iDoPrefix

Prefix action (only for IPv6 addresses).

0 = don't do prefix, 1 = do the prefix.

iAddress must be specified.

If set and iNetMask is defined, then iNetMask and iAddress define a prefix for the interface (link). If iNetMask is unspecified, then the iDoPrefix is ignored.

  • iDelete=0: Acts as if an IPv6 Router Advertisement with prefix option A=1 and L=1 has arrived (e.g. this prefix can be used in address generation and all addresses with this prefix are onlink on this interface).

  • iDelete=1: The specified prefix is deleted from the interface (if it existed before).

Note:

Current IPv6 specification allows only 64 for the number of prefix bits.

iDoProxy

TUint iDoProxy

Confiture address as Proxy.

The proxy address is defined by iAddress.

Proxy address is not recognized as own address for incoming packets (nor can it be used as own address for outgoing packets). IPv6 DAD (or IPv4 ARP duplicate address) test is performed for proxy address. Proxy address is advertised on the link as an address of this host.

1 = configure proxy (iDoId must also be set, iDoPrefix is ignored)

  • iDelete=0: Add proxy address.

  • iDelete=1: Remove the previously configured proxy address.

Since
7.0s

iDoState

TUint iDoState

Interface state action.

0 = ignore TSoInetInterfaceInfo::iState,

1 = set interface state based on TSoInetInterfaceInfo::iState as follows:
  • EIfDown: The interface state is set to KErrNotReady.

  • EIfUp: The interface state is set to 0 (KErrNone).

  • Attempt to set any other state results failed operation with KErrArgument result.