The Ip module is used to configure settings for IP, as well as other stack
properties which are closely related to IP. The Ip module encompasses
stack settings and configuration for the following catergories:
To configure the settings of the Ip module, the module must be used in a
RTSC configuration script, as follows:
To change settings, simply set the values of the Ip module's members, which
correspond to what needs to be configured. For example, the following
code set a static IP address, increase the time to live value for ICMP
packets to 100 hops, and decrease the maximum number of connections on
a given IP socket down to 4:
To configure the target to run as a DHCP client, configure the IP address
to be the empty string:
To configure the target to run without any IPv4 address (i.e. not as a DHCP
client nor using a static IP), configure the IP address as "none":
const Ip.CIS_FLG_CALLBYIP |
 |
Specifies that the service should be invoked by IP address
const Ip.CIS_FLG_CALLBYIP = 0x0004;
const Ip.CIS_FLG_IFIDXVALID |
 |
Specifies if the IfIdx field is valid
const Ip.CIS_FLG_IFIDXVALID = 0x0001;
const Ip.CIS_FLG_RESOLVEIP |
 |
Requests that IfIdx be resolved to an IP address before service
execution is initiated
const Ip.CIS_FLG_RESOLVEIP = 0x0002;
const Ip.CIS_FLG_RESTARTIPTERM |
 |
A service that is dependent on a valid IP address (as determined by the
RESOLVEIP flag) is shut down if the IP address becomes invalid
const Ip.CIS_FLG_RESTARTIPTERM = 0x0008;
DETAILS
When this flag is set, the service will be restarted when a new address
becomes available. Otherwise; the service will not be restarted.
const Ip.defaultDirBcast |
 |
const Ip.defaultDirBcast = true;
const Ip.defaultIcmpBcastReply |
 |
const Ip.defaultIcmpBcastReply = false;
const Ip.defaultIcmpDoRedir |
 |
const Ip.defaultIcmpDoRedir = true;
const Ip.defaultIcmpMcastReply |
 |
const Ip.defaultIcmpMcastReply = false;
const Ip.defaultIcmpTTL |
 |
const Ip.defaultIcmpTTL = 64;
const Ip.defaultIcmpTTLecho |
 |
const Ip.defaultIcmpTTLecho = 255;
const Ip.defaultMaxReasmSize |
 |
const Ip.defaultMaxReasmSize = 3020;
const Ip.defaultMaxReasmTime |
 |
const Ip.defaultMaxReasmTime = 10;
const Ip.defaultPipBufRxSz |
 |
const Ip.defaultPipBufRxSz = 1;
const Ip.defaultPipBufTxSz |
 |
const Ip.defaultPipBufTxSz = 256;
const Ip.defaultPipIoTimeout |
 |
const Ip.defaultPipIoTimeout = 0;
const Ip.defaultPipMaxBufSz |
 |
const Ip.defaultPipMaxBufSz = 1024;
const Ip.defaultPortFiltering |
 |
const Ip.defaultPortFiltering = false;
const Ip.defaultPortForwarding |
 |
const Ip.defaultPortForwarding = false;
const Ip.defaultRteAdverLife |
 |
const Ip.defaultRteAdverLife = 120;
const Ip.defaultRteAdverLvl |
 |
const Ip.defaultRteAdverLvl = 0;
const Ip.defaultRteAdverPer |
 |
const Ip.defaultRteAdverPer = 0;
const Ip.defaultRteCloneTimeout |
 |
const Ip.defaultRteCloneTimeout = 120;
const Ip.defaultRteCtrlDbg |
 |
const Ip.defaultRteCtrlDbg = false;
const Ip.defaultRteDownTime |
 |
const Ip.defaultRteDownTime = 20;
const Ip.defaultRteKpAliveTime |
 |
const Ip.defaultRteKpAliveTime = 1200;
const Ip.defaultRteMtu |
 |
const Ip.defaultRteMtu = 64;
const Ip.defaultSockBufRxSz |
 |
const Ip.defaultSockBufRxSz = 1;
const Ip.defaultSockBufTxSz |
 |
const Ip.defaultSockBufTxSz = 2048;
const Ip.defaultSockConnTimeout |
 |
const Ip.defaultSockConnTimeout = 80;
const Ip.defaultSockIoTimeout |
 |
const Ip.defaultSockIoTimeout = 0;
const Ip.defaultSockMaxConn |
 |
const Ip.defaultSockMaxConn = 8;
const Ip.defaultSockTTL |
 |
const Ip.defaultSockTTL = 64;
const Ip.defaultSockTos |
 |
const Ip.defaultSockTos = 0;
const Ip.defaultStartIndex |
 |
const Ip.defaultStartIndex = 1;
config Ip.DHCPOPT_ALL_SUBNETS_LOCAL // module-wide |
 |
Ip.DHCPOPT_ALL_SUBNETS_LOCAL = Bool false;
config Ip.DHCPOPT_ARP_CACHE_TIMEOUT // module-wide |
 |
Ip.DHCPOPT_ARP_CACHE_TIMEOUT = Bool false;
config Ip.DHCPOPT_BOOTFILE_NAME // module-wide |
 |
Ip.DHCPOPT_BOOTFILE_NAME = Bool false;
config Ip.DHCPOPT_BOOT_FILE_SIZE // module-wide |
 |
Ip.DHCPOPT_BOOT_FILE_SIZE = Bool false;
config Ip.DHCPOPT_BROADCAST_ADDRESS // module-wide |
 |
Ip.DHCPOPT_BROADCAST_ADDRESS = Bool false;
config Ip.DHCPOPT_CLIENT_IDENTIFIER // module-wide |
 |
Ip.DHCPOPT_CLIENT_IDENTIFIER = Bool false;
config Ip.DHCPOPT_COOKIE_SERVER // module-wide |
 |
Ip.DHCPOPT_COOKIE_SERVER = Bool false;
config Ip.DHCPOPT_DEFAULT_FINGER_SERVER // module-wide |
 |
Ip.DHCPOPT_DEFAULT_FINGER_SERVER = Bool false;
config Ip.DHCPOPT_DEFAULT_IP_TTL // module-wide |
 |
Ip.DHCPOPT_DEFAULT_IP_TTL = Bool false;
config Ip.DHCPOPT_DEFAULT_IRC_SERVER // module-wide |
 |
Ip.DHCPOPT_DEFAULT_IRC_SERVER = Bool false;
config Ip.DHCPOPT_DEFAULT_WWW_SERVER // module-wide |
 |
Ip.DHCPOPT_DEFAULT_WWW_SERVER = Bool false;
config Ip.DHCPOPT_DHCP_MESSAGE_TYPE // module-wide |
 |
Ip.DHCPOPT_DHCP_MESSAGE_TYPE = Bool false;
config Ip.DHCPOPT_ETHERNET_ENCAPSULATION // module-wide |
 |
Ip.DHCPOPT_ETHERNET_ENCAPSULATION = Bool false;
config Ip.DHCPOPT_EXTENTIONS_PATH // module-wide |
 |
Ip.DHCPOPT_EXTENTIONS_PATH = Bool false;
config Ip.DHCPOPT_IMPRESS_SERVER // module-wide |
 |
Ip.DHCPOPT_IMPRESS_SERVER = Bool false;
config Ip.DHCPOPT_INTERFACE_MTU // module-wide |
 |
Ip.DHCPOPT_INTERFACE_MTU = Bool false;
config Ip.DHCPOPT_IP_ADDRESS_LEASE_TIME // module-wide |
 |
Ip.DHCPOPT_IP_ADDRESS_LEASE_TIME = Bool false;
config Ip.DHCPOPT_IP_FORWARDING // module-wide |
 |
Ip.DHCPOPT_IP_FORWARDING = Bool false;
config Ip.DHCPOPT_LOG_SERVER // module-wide |
 |
Ip.DHCPOPT_LOG_SERVER = Bool false;
config Ip.DHCPOPT_LPR_SERVER // module-wide |
 |
Ip.DHCPOPT_LPR_SERVER = Bool false;
config Ip.DHCPOPT_MASK_SUPPLIER // module-wide |
 |
Ip.DHCPOPT_MASK_SUPPLIER = Bool false;
config Ip.DHCPOPT_MAXIMUM_DATAGRAM_REASSEMBLY_SIZE // module-wide |
 |
Ip.DHCPOPT_MAXIMUM_DATAGRAM_REASSEMBLY_SIZE = Bool false;
config Ip.DHCPOPT_MAXIMUM_DHCP_MESSAGE_SIZE // module-wide |
 |
Ip.DHCPOPT_MAXIMUM_DHCP_MESSAGE_SIZE = Bool false;
config Ip.DHCPOPT_MERIT_DUMP_FILE // module-wide |
 |
Ip.DHCPOPT_MERIT_DUMP_FILE = Bool false;
config Ip.DHCPOPT_MESSAGE // module-wide |
 |
Ip.DHCPOPT_MESSAGE = Bool false;
config Ip.DHCPOPT_MOBILE_IP_HOME_AGENT // module-wide |
 |
Ip.DHCPOPT_MOBILE_IP_HOME_AGENT = Bool false;
config Ip.DHCPOPT_NAME_SERVERS // module-wide |
 |
Ip.DHCPOPT_NAME_SERVERS = Bool false;
config Ip.DHCPOPT_NETBIOS_DATAGRAM_DISTRIBUTION_SERVER // module-wide |
 |
Ip.DHCPOPT_NETBIOS_DATAGRAM_DISTRIBUTION_SERVER = Bool false;
config Ip.DHCPOPT_NISPLUS_DOMAIN // module-wide |
 |
Ip.DHCPOPT_NISPLUS_DOMAIN = Bool false;
config Ip.DHCPOPT_NISPLUS_SERVERS // module-wide |
 |
Ip.DHCPOPT_NISPLUS_SERVERS = Bool false;
config Ip.DHCPOPT_NIS_DOMAIN // module-wide |
 |
Ip.DHCPOPT_NIS_DOMAIN = Bool false;
config Ip.DHCPOPT_NIS_SERVERS // module-wide |
 |
Ip.DHCPOPT_NIS_SERVERS = Bool false;
config Ip.DHCPOPT_NIS_TIME_PROTOCOL_SERVERS // module-wide |
 |
Ip.DHCPOPT_NIS_TIME_PROTOCOL_SERVERS = Bool false;
config Ip.DHCPOPT_NNTP_SERVER // module-wide |
 |
Ip.DHCPOPT_NNTP_SERVER = Bool false;
config Ip.DHCPOPT_NONLOCAL_SOURCE_ROUTING // module-wide |
 |
Ip.DHCPOPT_NONLOCAL_SOURCE_ROUTING = Bool false;
config Ip.DHCPOPT_OPTION_OVERLOAD // module-wide |
 |
Ip.DHCPOPT_OPTION_OVERLOAD = Bool false;
config Ip.DHCPOPT_PARAMETER_REQUEST_LIST // module-wide |
 |
Ip.DHCPOPT_PARAMETER_REQUEST_LIST = Bool false;
config Ip.DHCPOPT_PATH_MTU_AGING_TIMEOUT // module-wide |
 |
Ip.DHCPOPT_PATH_MTU_AGING_TIMEOUT = Bool false;
config Ip.DHCPOPT_PATH_MTU_PLATEAU_TIMEOUT // module-wide |
 |
Ip.DHCPOPT_PATH_MTU_PLATEAU_TIMEOUT = Bool false;
config Ip.DHCPOPT_PERFORM_MASK_DISCOVERY // module-wide |
 |
Ip.DHCPOPT_PERFORM_MASK_DISCOVERY = Bool false;
config Ip.DHCPOPT_PERFORM_ROUTER_DISCOVERY // module-wide |
 |
Ip.DHCPOPT_PERFORM_ROUTER_DISCOVERY = Bool false;
config Ip.DHCPOPT_POLICTY_FILTER // module-wide |
 |
Ip.DHCPOPT_POLICTY_FILTER = Bool false;
config Ip.DHCPOPT_POP3_SERVER // module-wide |
 |
Ip.DHCPOPT_POP3_SERVER = Bool false;
config Ip.DHCPOPT_RENEWAL_T1_TIME_VALUE // module-wide |
 |
Ip.DHCPOPT_RENEWAL_T1_TIME_VALUE = Bool false;
config Ip.DHCPOPT_RENEWAL_T2_TIME_VALUE // module-wide |
 |
Ip.DHCPOPT_RENEWAL_T2_TIME_VALUE = Bool false;
config Ip.DHCPOPT_REQUESTED_IP_ADDRESS // module-wide |
 |
Ip.DHCPOPT_REQUESTED_IP_ADDRESS = Bool false;
config Ip.DHCPOPT_RESOURCE_LOCATION_SERVER // module-wide |
 |
Ip.DHCPOPT_RESOURCE_LOCATION_SERVER = Bool false;
config Ip.DHCPOPT_ROOT_PATH // module-wide |
 |
Ip.DHCPOPT_ROOT_PATH = Bool false;
config Ip.DHCPOPT_ROUTER_SOLICITATION_ADDRESS // module-wide |
 |
Ip.DHCPOPT_ROUTER_SOLICITATION_ADDRESS = Bool false;
config Ip.DHCPOPT_SERVER_IDENTIFIER // module-wide |
 |
Ip.DHCPOPT_SERVER_IDENTIFIER = Bool false;
config Ip.DHCPOPT_SMTP_SERVER // module-wide |
 |
Ip.DHCPOPT_SMTP_SERVER = Bool false;
config Ip.DHCPOPT_STATIC_ROUTE // module-wide |
 |
Ip.DHCPOPT_STATIC_ROUTE = Bool false;
config Ip.DHCPOPT_STREETALK_DISCOVERY_ASSISTANCE_SERVER // module-wide |
 |
Ip.DHCPOPT_STREETALK_DISCOVERY_ASSISTANCE_SERVER = Bool false;
config Ip.DHCPOPT_STREETTALK_SERVER // module-wide |
 |
Ip.DHCPOPT_STREETTALK_SERVER = Bool false;
config Ip.DHCPOPT_SWAP_SERVER // module-wide |
 |
Ip.DHCPOPT_SWAP_SERVER = Bool false;
config Ip.DHCPOPT_TCP_DEFUALT_TTL // module-wide |
 |
Ip.DHCPOPT_TCP_DEFUALT_TTL = Bool false;
config Ip.DHCPOPT_TCP_KEEPALIVE_GARBAGE // module-wide |
 |
Ip.DHCPOPT_TCP_KEEPALIVE_GARBAGE = Bool false;
config Ip.DHCPOPT_TCP_KEEPALIVE_INTERVAL // module-wide |
 |
Ip.DHCPOPT_TCP_KEEPALIVE_INTERVAL = Bool false;
config Ip.DHCPOPT_TFTP_SERVER_NAME // module-wide |
 |
Ip.DHCPOPT_TFTP_SERVER_NAME = Bool false;
config Ip.DHCPOPT_TIME_OFFSET // module-wide |
 |
Ip.DHCPOPT_TIME_OFFSET = Bool false;
config Ip.DHCPOPT_TIME_SERVER // module-wide |
 |
Ip.DHCPOPT_TIME_SERVER = Bool false;
config Ip.DHCPOPT_TRAILER_ENCAPSULATION // module-wide |
 |
Ip.DHCPOPT_TRAILER_ENCAPSULATION = Bool false;
config Ip.DHCPOPT_VENDOR_CLASS_IDENTIFIER // module-wide |
 |
Ip.DHCPOPT_VENDOR_CLASS_IDENTIFIER = Bool false;
config Ip.DHCPOPT_VENDOR_SPECIFIC_INFORMATION // module-wide |
 |
Ip.DHCPOPT_VENDOR_SPECIFIC_INFORMATION = Bool false;
config Ip.DHCPOPT_XWINDOWS_DISPLAY_MANAGER // module-wide |
 |
Ip.DHCPOPT_XWINDOWS_DISPLAY_MANAGER = Bool false;
config Ip.DHCPOPT_XWINDOWS_FONT_SERVER // module-wide |
 |
Ip.DHCPOPT_XWINDOWS_FONT_SERVER = Bool false;
config Ip.address // module-wide |
 |
Enter a valid address for static IP configuration
Ip.address = String null;
DETAILS
The default address is null, and signifies that this Ip instance (on
this interface) will run as a DHCP Client, and will obtain the IP
address automatically from a DHCP Server on the network.
The user may also set 'address' to a valid IP address, in which
case the program will not run as a DHCP Client, and instead will use
the static IP address provided to connect to the internet. When a
static IP address is specified for 'address', the following
instance parameters must be set:
<IP mask, gateway IP address, domain name>
To configure neither of these options, set the value to "none".
config Ip.dhcpClientMode // module-wide |
 |
Set of flags which represent the desired behavior of DHCP Client
Ip.dhcpClientMode = Bits16 1;
DETAILS
The following flag values may be set either individually, or by or-ing
flags together:
- CIS_FLG_IFIDXVALID - specifies if the IfIdx field is valid.
- CIS_FLG_RESOLVEIP - Requests that IfIdx be resolved to an IP
address before service execution is initiated.
- CIS_FLG_CALLBYIP - Specifies that the service should be invoked by
IP address
- CIS_FLG_RESTARTIPTERM - A service that is dependent on a valid IP
address.
config Ip.dhcpClientPcbServer // module-wide |
 |
Handle to the service report function used by DHCP
Ip.dhcpClientPcbServer = Void* "&ti_ndk_config_Global_serviceReport";
config Ip.domainName // module-wide |
 |
Use to specify the domain name of the network; this must be specified
when using a static IP address
Ip.domainName = String "demo.net";
DETAILS
Used for manual/static IP configuration. If configuring a static IP,
this should be a full domain. For example, use "home1.net", not just
"home1".
config Ip.enableDirectedBroadcast // module-wide |
 |
Enable directed broadcast
DETAILS
When enabled, the stack will look for directed broadcast IP packets.
config Ip.enableFiltering // module-wide |
 |
Enable or disable IP filtering
config Ip.enableForwarding // module-wide |
 |
Enable or disable IP forwarding
config Ip.gatewayIpAddr // module-wide |
 |
The IP address of the gateway must be specified when using a static IP
address
Ip.gatewayIpAddr = String "0.0.0.0";
DETAILS
Used for manual/static IP configuration. If configuring a static IP,
this must be set to the IP address of the gateway.
config Ip.hostName // module-wide |
 |
Use to specify the client host name
Ip.hostName = String "tisoc";
config Ip.icmpDoRedirect // module-wide |
 |
Enable route table update on ICMP redirect
DETAILS
When true, causes ICMP to automatically create a route to perform
redirects on an IP host to the gateway supplied in the redirect
message. If false, ICMP will also generate a route control message,
and user may take any action they feel is necessary.
config Ip.icmpDontReplyToBcast // module-wide |
 |
Enable or disable replies to broadcast
DETAILS
When enabled, the stack *does not* reply to ICMP echo request packets
sent to broadcast/directed broadcast addresses.
config Ip.icmpDontReplyToMcast // module-wide |
 |
Enable or disable replies to multicast
DETAILS
When enabled, the stack *does not* reply to ICMP echo request packets
sent to multicast addresses.
config Ip.icmpTimeToLive // module-wide |
 |
Set the time to live value for ICMP packets
config Ip.icmpTimeToLiveEcho // module-wide |
 |
Set the time to live value for ICMP echo packets
config Ip.ifIdx // module-wide |
 |
The physical device index for which the application's IP address should
be associated with
config Ip.indexStart // module-wide |
 |
Initial value placed in the IP Id field for IP packets generated by the
system
config Ip.mask // module-wide |
 |
The IP mask must be specified when using a static IP address
Ip.mask = String "255.255.254.0";
DETAILS
Used for manual/static IP configuration. If configuring a static IP,
this must be set to a valid mask value.
config Ip.maxReassemblySize // module-wide |
 |
Set the maximum reassembly size for IP packets
config Ip.maxReassemblyTime // module-wide |
 |
Set the maximum reassembly time for IP packets (seconds)
config Ip.pipeBufMinRxSize // module-wide |
 |
Min Size in Bytes for Pipe Able to Write
config Ip.pipeBufMinTxSize // module-wide |
 |
Min Size in Bytes for Pipe Able to Write
config Ip.pipeIoTimeout // module-wide |
 |
Maximum Time in Seconds to Wait on Pipe Read/Write
config Ip.pipeMaxBufSize // module-wide |
 |
Size in Bytes of Each End of a Pipe Buffer
config Ip.routeAdvertiseLifetime // module-wide |
 |
If sending router advertisements, this value will be used for the ICMP
message lifetime
config Ip.routeAdvertisePeriod // module-wide |
 |
Time in seconds to periodically send a router advertisement
config Ip.routeAdvertisePrefLvl // module-wide |
 |
If sending router advertisements, this value will be used for the ICMP
message route preference level
config Ip.routeCloneTimeout // module-wide |
 |
Default Timeout in Seconds of a Cloned Route
config Ip.routeCtrlEnableDebug // module-wide |
 |
Enables Route Control messages
config Ip.routeDefaultMtu // module-wide |
 |
Default MTU for Local Routes
config Ip.routeDownTime // module-wide |
 |
Time in Seconds a Route is "Down" Due to Failed ARP
config Ip.routeKeepAliveTime // module-wide |
 |
Time in Seconds a Validated Route is Held
config Ip.socketBufMinRxSize // module-wide |
 |
Min Size in Bytes for Socket "Able to Read."
config Ip.socketBufMinTxSize // module-wide |
 |
Min Size in Bytes for Socket "Able to Write."
config Ip.socketConnectTimeout // module-wide |
 |
Maximum Time in Seconds to Wait on a Connect
config Ip.socketIoTimeout // module-wide |
 |
Maximum Time in Seconds to Wait on Socket Read/Write
config Ip.socketMaxConnections // module-wide |
 |
Maximum number of connections on a listening socket
config Ip.socketTimeToLive // module-wide |
 |
Default TTL for packets sent via IP socket
config Ip.socketTos // module-wide |
 |
Default TOS (Type of Service) for packets sent via a socket