= Configuration = Stack configuration includes default identity, set of network interfaces, policy for choosing between two or more interfaces for forwarding outbound packets, and several resource parameters that affect performance. Configuration is specified simply using = pairs as shown in the below template file. == Template hoststack.conf == {{{ # Specify 'default' GUID for the network stack and therefore for the # node that it runs on. The stack would use this as a source GUID for # any messages sent by applications that do not specify their own, and # also when the communication originates from within the stack (e.g., # from transport modules or for error messages). For now, it is a # 32-bit positive integer. # Example: # DEFAULT_GUID=234323 # # Required. DEFAULT_GUID = 1 # Define one or more interfaces to be used for network communication. # These are either a 3-tuple 'auto' or a 5-tuple 'manual' or a 5-tuple 'active' # configuration: # INTERFACE=,,auto, # INTERFACE=,,manual,,, # INTERFACE=,,active,,, # where # type is one of 'wifi', 'wimax', or 'ether' ('lte' will be supported in the future) # name is the system name of interface, e.g., wlan0 or eth0 # headers_used is the level of overlay employed by the stack, e.g. ethernet only, # ethernet+ip, ethernet+ip+udp or use of standard sockets. Valid values are: # 'ethernet', 'ip', 'upd', 'udp_socket' # 'auto', 'manual' and 'active' keywords distinguish whether network attachment # (i.e., first hop router, another host in p2p mode, or first hop router traversing another network) # is dynamically chosen by stack based on advertisements or is statically fixed for # the interface. # ip_addr is the IP4 address of first hop in fixed attachment # mac_addr is the MAC address of first hop in fixed attachment # Examples: # INTERFACE=wifi,wlan0,auto # INTERFACE=wimax,wmx0,manual,192.168.1.1,11:22:33:44:55:66 # # Must specify at least one INTERFACE = wifi,eth0,auto,ip # UDP port used by the access router the stack will attach to when overlaying over UDP # Example: # UDP_ACCESSROUTER_PORT = 4567 # Pick policy for deciding what interface an outbound packet should be # sent on. Policies currently implemented are: # 'bestperformance' - stack monitors link (e.g., data rate) to # determine best. Interfaces not enabled or down with errors are # not considered. # 'wifionly' - equivalent to having just the WiFi interface(s) # 'wimaxonly' - similarly, just having the WiMAX interface(s) # 'etheronly' - just having the Ethernet interfaces(s) # Example: # POLICY = bestperformance # Buffer size (in MB) for communication sockets used internal by # stack to interact with API library. It is also used to size per # interface buffer on the send side. # Positive integer based on system resources. # Example: # BUFFER_SIZE = 10 # Scan period to check interfaces status. In seconds # Example: # IF_SCAN_PERIOD = 5 # Timeout for for keep alive association with access router between probes in auto mode. In microseconds # Example: # PROBE_TO = 10000000 # Timeout for association requests to access router in active mode. In microseconds # Example: # ASSOC_TO = 2000000 # Keep alive cycle for association requests to access router in active mode. In microseconds # Example: # ASSOC_KA = 60000000 # Timeout for guid association to router. In microseconds # Example: # GUID_ASSOC_TO = 5000000 # CSYN TO for retransmitting a CSYN if no ACK is received. In microseconds # Example: # CSYN_TO = 100000 # Socket TO for checking if a socket connection with stack layer is still alive. In milliseconds # Example: # SOCKET_TO = 10000 # Common MTU size accross interfaces. In Bytes # Example: # MTU_SIZE = 1500 # Max chunk size for the system. In number of packets # Example: # MAX_CHUNK_SIZE 750 # THIS OPTIONS WILL SOON BE DEPRECATED!!! # API parameters in Open call will be used instead # whether to use a transport protocol with end-to-end # reliability semantics. # TRANS_RELIABLE=true # The variable settings below are considered only if # TRANS_RELIABLE is set to true # Transport layer message with a chunk count equal to # or greater than this threshold will be sent with # NACK-based end-to-end error recovery. # TRANS_CHK_COUNT_NACK_THRESH=3 # NACK Timeout value at sender. If the sender is # sending a message of N chunks, after # N * TRANS_SEND_NACK_TIMEOUT milliseconds, the chunks # will be destroyed, and memory is garbage collected. # TRANS_SEND_NACK_TIMEOUT=2000 # NACK Timeout value at the receiver. If the error # recovery mechanism is NACK and the message is not # complete before N * TRANS_RECV_NACK_TIMEOUT, for a # message of N chunks, the receiver will transmit a # NACK message to the sender. Setting this value more #conservatively to favor network-based recovery for # handling disconnection. # TRANS_RECV_NACK_TIMEOUT=20000 }}}