The WindView networking events fall into two classes. The core network class (WV_NET_CORE_CLASS) contains events which are directly related to data transfer between hosts. The auxiliary network class (WV_NET_AUX_CLASS) contains events for all other network operations, such as updating the routing table and handling socket operations. Like the existing classes, these two categories determine which events a target reports. In addition to the class setting, events may be enabled or disabled individually, or in groups based on the priority level.
The priority of networking events range from WV_NET_EMERGENCY (1) to WV_NET_VERBOSE (8). An instrumented target reports all events of equal or higher priority within the selected classes (unless specifically disabled) as well as any individual events of lower priority which are specifically enabled. Finally, some events support filtering based on the values of the source or destination addresses and port numbers.
The default setting includes all events for all priority levels within the selected classes without using any available port or address filters.
See the online VxWorks API Reference entry for wvNetLib for more information about priority levels, classes, filters and the available routines for configuring the collection of networking events.
Table 3-1 lists all the WindView networking events in alphabetical order, ignoring underscore characters and hyphens. The listing includes the event class, priority level, individual offset within that level, available filters, if any, and a reference to the full description of the event.
|
|
|||||||||||||||||||
|
|
|||||||||||||||||||
|
|
|||||||||||||||||||
The networking events dictionary sections describe the networking events collected by WindView. There is one section for each priority level (EMERGENCY, ALERT, and so on). For each event, the following information is shown:
Table 3-2 lists the networking event priority levels that can be logged.
|
|
|||||||||||||||||||
|
|
|||||||||||||||||||
|
|
|||||||||||||||||||
Panic events correspond to internal calls to the panic( ) routine, which displays an identifying error message on the console. Possible causes include memory allocation failures or attempts to free unallocated memory. Most conditions which trigger these events are only theoretical possibilities and are very unlikely to occur.
Table 3-3 lists the event names, class, IDs,and descriptions of each Panic level event
Table 3-4 lists additional information that is collected with certain panic events, in addition to the unique internal identifier.
Memory Allocation FailuresThese events signal critical memory allocation failures which may permanently disrupt the network processing. An increase in the size of the memory pools is probably necessary for correct operation. Transient allocation failures which will not interfere with later processing are listed below under a lower priority.
Table 3-5 lists the details and a brief description of each event in this category.
Memory Allocation Failures - additional parametersTable 3-6 describes the additional information included with certain memory allocation failure events, in addition to the unique internal identifier.
icmp_error-start: memory allocation failureThis event indicates that the network system is generating an ICMP source quench message. That message occurs when an attempt to forward an IP packet fails because of insufficient memory. This event also occurs at a lower priority level for other ICMP messages.It is part of the core net event class. No additional filters are available.
Most emergency events occur unconditionally whenever the event class is selected and the EMERGENCY priority level is active. Table 3-7 lists the filters available for some emergency events.
These events indicate recoverable error conditions which require some type of user action to correct. An explanatory log message is also sent to the console for each event. These events generally signify corrupted entries in the radix tree which stores the routing table. None of the events support additional filtering beyond the (required) class and priority selection.
This priority level contains events which indicate uncorrectable transient errors. Some of these events can be avoided by altering the system configuration, but most cannot be prevented by any user action. The operations in process when the error occurs will fail, and any network data is usually discarded, but these events have no permanent effect on the network processing. A checksum failure on incoming data is a typical event for this priority level.
ifpromisc-ifdown: failure to change promiscuous mode settingThis event occurs when attempting to enable or disable promiscuous mode for a particular device. This setting, which is disabled by default, allows a device to receive all link-layer frames regardless of the destination address. The IFF_PROMISC flag which reflects the current setting cannot be altered with an ioctl( ) call like other flags. The setting can only be changed with this routine.
This event indicates that the device is disabled (for example. the IFF_UP flag is not set). The ifpromisc( ) routine returns ENETDOWN and the current setting is unchanged.
This event is part of the auxiliary net event class.No additional filters are available.
arpioctl-noentry: unable to find matching IP addressThis event occurs when the network stack is processing a request from the generic I/O control interface. The ioctl.h include file defines the available operations. The request parameter included in this event contains the resulting four byte value. The first two arguments to the _IOxx macros in the include file provide the values for the final two bytes, which indicate the particular request. The third byte indicates whether it applies to sockets (`s': 0x73), routes (`r': 0x72), or interfaces (`i': 0x69). The fourth byte (second argument) is a unique offset within each category.
The arpioctl( ) routine handles the interface-specific SIOCSARP, SIOCGARP, and SIOCDARP operations (request values with the format 0xaa2469dd) which provide applications with direct access to the ARP table. This event indicates that the specified IP address is unknown. The ARP entry for the given hardware address is not affected and the ioctl( ) call returns ENETUNREACH (for SIOCSARP) or EADDRNOTAVAIL (for SIOCDARP). This event is part of the auxiliary net event class. No additional filters are available.
ether_output-ifdown: sending Ethernet frame over disabled interfaceThis event indicates that the network stack is unable to generate an Ethernet frame for transmission by a network interface. The ether_output( ) routine processes IP packets for delivery to BSD drivers by prepending an Ethernet header to the corresponding M_BLK chain.
This event occurs when attempting to send output over an interface which is currently unavailable (either the IFF_UP or IFF_RUNNING flag are not set). The error number is set to ENETDOWN. This event is part of the core net event class. No additional filters are available.
ether_output-nomem: insufficient space for sending over interfaceThis event indicates that the network stack is unable to generate an Ethernet frame for transmission by a network interface. The ether_output( ) routine processes IP packets for delivery to BSD drivers by prepending an Ethernet header to the corresponding M_BLK chain.
This event occurs when no memory is available for sending an Ethernet frame. It can occur because of a memory allocation error if no memory is available for the frame header, but the most likely cause is an overflow of the interface-specific send queue. In either case, the frame is discarded and the error number is set to ENOBUFS. This event is part of the core net event class. No additional filters are available.
ether_output-noroute: unreachable destination for IP/Ethernet dataThis event indicates that the network stack is unable to generate an Ethernet frame for transmission by a network interface. The ether_output( ) routine processes IP packets for delivery to BSD drivers by prepending an Ethernet header to the corresponding M_BLK chain. It obtains the destination hardware address from the ARP cache which is accessed through the route entry for the destination IP address.
This event occurs when no routing entry is available for the destination. The frame is discarded and the error number is set to EHOSTUNREACH. This event is part of the core net event class. Additional filtering based on the IP address is available with type of 1 (destination) and direction of 1 (output).
ether_output-rtreject: destination temporarily disabledThis event indicates that the network stack is unable to generate an Ethernet frame for transmission by a network interface. The ether_output( ) routine processes IP packets for delivery to BSD drivers by prepending an Ethernet header to the corresponding M_BLK chain. It obtains the destination hardware address from the ARP cache which is accessed through the route entry for the destination IP address.
This event indicates that the destination has not been responding to ARP requests. After unsuccessfully sending the number of requests specified by the arp_maxtries variable (5 by default), transmissions to the destination are disabled for arpt_down seconds (20 by default). Because that restriction is in effect, the frame is discarded and the error number is set to EHOSTDOWN or EHOSTUNREACH. This event is part of the core net event class. No additional filters are available.
igmp_input-shortmsg: truncated message receivedThis event indicates that the network system received an IGMP packet which either does not contain the minimum 8 bytes needed for a complete message or is unexpectedly truncated before the reported message size. The data is discarded after incrementing the appropriate counter in the IGMP statistics.This event is part of the core net event class. No additional filters are available.
igmp_input-badsum: corrupted message received
icmp_error-start: IP processing failureThis event indicates that the network system is generating an ICMP error due to problems processing an IP packet. This event also occurs at a higher priority level when the network system generates an ICMP source quench message. It is part of the core net event class. No additional filters are available.
icmp_input-shortmsg: truncated message receivedThis event indicates that the network stack is unable to process a received ICMP message. The icmp_input( ) routine handles data contained in IP packets with a protocol value of 1, generating replies for all supported request messages (types 8, 13, and 17). After completing any necessary processing, the input routine calls rip_input( ) to relay all other messages to the appropriate sockets of type SOCK_RAW in the PF_INET domain, if any.
This event occurs if the network system receives an ICMP packet which either does not contain the minimum 8 bytes needed for a complete message or is unexpectedly truncated. The data is discarded after incrementing the appropriate counter in the ICMP statistics.This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 0 (input).
icmp_input-badsum: corrupted message receivedThis event indicates that the network stack is unable to process a received ICMP message. The icmp_input( ) routine handles data contained in IP packets with a protocol value of 1, generating replies for all supported request messages (types 8, 13, and 17). After completing any necessary processing, the input routine calls rip_input( ) to relay all other messages to the appropriate sockets of type SOCK_RAW in the PF_INET domain, if any.
This event occurs if the network system receives an ICMP message which does not pass the checksum validation test. The data is discarded after incrementing the appropriate counter in the ICMP statistics.This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 0 (input).
icmp_input-badlen: invalid error message receivedThis event indicates that the network stack is unable to process a received ICMP message. The icmp_input( ) routine handles data contained in IP packets with a protocol value of 1, generating replies for all supported request messages (types 8, 13, and 17). This event indicates that the network system received an ICMP error message which is either too short or inconsistent with the values included in the encapsulated IP header. The data is discarded after incrementing the appropriate counter in the ICMP statistics.This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 0 (input).
ipintr-shortmsg: invalid packet received - insufficient headerThis event indicates that the network system received an IP packet which does not include the minimum 20 bytes needed for a complete header. The data is discarded after incrementing the appropriate counter in the IP statistics.This event is part of the core net event class. No additional filters are available.
ipintr-badvers: invalid packet received - unknown version numberThis event indicates that the network system received an IP packet with an unsupported version number. The current network stack only supports IP version 4 packets. The data is discarded after incrementing the appropriate counter in the IP statistics.This event is part of the core net event class. No additional filters are available.
ipintr-badhlen: invalid packet received - incorrect or truncated IP headerThis event indicates that the network system received an IP packet which includes a reported header length less than the minimum 20 bytes or whose header is unexpectedly truncated. The data is discarded after incrementing the appropriate counter in the IP statistics.This event is part of the core net event class. No additional filters are available.
ipintr-badsum: invalid packet received - corrupted data
ipintr-badlen: invalid packet received - incorrect total lengthThis event indicates that the network system received an IP message with a reported total length less than the reported length of the IP header. The data is discarded after incrementing the appropriate counter in the IP statistics.This event is part of the core net event class. No additional filters are available.
ipintr-badmblk: inconsistent network buffersThis event indicates that the network stack received an IP message with a reported total length greater than the amount of data actually present in the network buffers. The data is discarded after incrementing the appropriate counter in the IP statistics. This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 0 (input).
ip_dooptions-badopt: invalid packet received - bad options in header
ip_forward-badaddr: unable to forward packetThis event indicates that the network stack received an IP packet which required forwarding to an invalid next-hop address. Packets cannot be forwarded to multicast (class D) or experimental (class E) addresses, or to any address with network numbers 127 (loopback) or 0. This event also occurs with attempts to forward a broadcast packet to any destination. For hosts acting as routers, forwarding is attempted for all incoming packets with unrecognized destination addresses. It may also occur because of a source routing option in the IP header. This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 1(output).
ip_output-badaddr: unreachable destination addressThis event occurs when the network stack is processing an outgoing IP packet. The ip_output( ) routine handles both packet forwarding (if enabled) and locally generated packets. It performs any necessary route lookups and fragmentation, then passes the resulting M_BLK chain to the interface-specific transmit routine.
This event indicates that the network stack is processing an IP packet for delivery to an unreachable destination. It typically occurs when no valid route to the destination exists, but can also happen if routing was disabled with the MSG_DONTROUTE send flag or the SO_DONTROUTE socket option and the destination is not directly reachable. This event is part of the core net event class. Additional filtering based on the IP address is available with type value of 1(destination) and direction of 1(output).
ip_output-badaddrtype: unsupported destination addressThis event occurs when the network stack is processing an outgoing IP packet. The ip_output( ) routine handles both packet forwarding (if enabled) and locally generated packets. It performs any necessary route lookups and fragmentation, then passes the resulting M_BLK chain to the interface-specific transmit routine.
This event indicates that the network stack is processing an IP packet with a destination address that cannot be handled by the selected endpoint. It usually occurs when attempting to use a multicast or broadcast address if the interface does not provide that capability. Attempts to send to a broadcast address will also fail if that option is not supported for the particular socket. The second case occurs for TCP sockets, or for UDP sockets if the SO_BROADCAST option is not set. Raw sockets always allow IP broadcasts. This event is part of the core net event class. Additional filtering based on the IP address is available with type value of 1(destination) and direction of 1(output). The broadcast events also provide filtering with an IP address of type 0 (source).
ip_output-badsize: unsupported message sizeThis event occurs when the network stack is processing an outgoing IP packet. The ip_output( ) routine handles both packet forwarding (if enabled) and locally generated packets. It performs any necessary route lookups and fragmentation, then passes the resulting M_BLK chain to the interface-specific transmit routine.
This event indicates that the network stack is processing an outgoing IP packet which exceeds the MTU size of the selected interface but can not be fragmented. This event often indicates that the DF bit is set in the IP header, but also occurs when attempting to send a large broadcast message. Those broadcasts are not permitted by default because the required fragmentation decreases the chance for successful delivery. This behavior can only be changed for the entire protocol by setting the IP_DO_LARGE_BCAST flag. It can't be modified for individual sockets or interfaces. This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 1(output).
ip_output-shortmsg: invalid fragment sizeThis event occurs when the network stack is processing an outgoing IP packet. The ip_output( ) routine handles both packet forwarding (if enabled) and locally generated packets. It performs any necessary route lookups and fragmentation, then passes the resulting M_BLK chain to the interface-specific transmit routine.
This event indicates that the network stack is processing an IP packet which requires fragmentation, but the MTU size for the interface selected to transmit the packets will produce fragments of less than eight bytes in length (excluding the packet header). Fragments of that size would prevent correct reassembly, so the message transmission fails. This event is part of the core net event class. Additional filtering based on the IP address is available with type values of 0 and 1(source or destination) and direction of 1(output).
rtalloc1-miss: no such route entryThis event indicates that an expected route entry does not exist. It usually occurs following a failed route lookup by the IP layer, but can also happen if the attempt to create a cloned route (a feature used by ARP) fails. This event is part of the auxiliary net event class. No additional filters are available.
rtredirect-error: invalid route change requestThis event indicates that the network stack received an invalid ICMP redirect message. It occurs in one of three situations: either the message was not sent by the current router to the destination, the new router is not directly reachable, or the new route would replace the direct route to a local interface (i.e. the RTF_GATEWAY flag is not set for the existing route). The redirect message is ignored and the routing table is left unchanged. This event is part of the auxiliary net event class. No additional filters are available.
rtrequest-error: invalid routing table requestThis event indicates an error attempting to change the contents of the routing table. All of the API calls which add or delete routes ultimately use the rtrequest( ) routine. Route deletion fails if no entry exists for the given destination. Route creation fails if the destination is unreachable or a route to the destination already exists, or if insufficient memory is available to add the route entry.
Following this event, the rtrequest( ) routine returns an error to the calling routine. The routing table is left unchanged. This event is part of the auxiliary net event class. No additional filters are available.
route_output-error: invalid route message sent
tcp_input-badsum: corrupted segment received
tcp_input-badhlen: invalid segment received - incorrect header sizeThis event indicates that the network system received a TCP segment which includes a reported header length that is less than the minimum 20 bytes or greated than the size of the entire segment. The data is discarded after incrementing the appropriate counter in the TCP statistics.
This event is part of the core net event class. Additional filtering based on the port number is available with type values of 0 and 1(source or destination) and direction of 0 (input).
tcp_ctloutput-nopcb: invalid socketThis event occurs when the network stack is processing a control operation requested using a socket of type SOCK_STREAM in the PF_INET domain. The tcp_ctloutput( ) routine provides a switchboard for handling any options available for the TCP or IP protocols through the setsockopt( ) and getsockopt( ) routines.
This event indicates an attempt to set or retrieve a socket option using a socket which is not associated with a protocol control block. Each TCP socket is assigned that structure when created and it is kept until the connection is closed. The setsockopt( ) or getsockopt( ) call returns ERROR with an error number setting of ECONNRESET if the control block is missing. This event is part of the auxiliary net event class. No additional filters are available.
tcp_attach-nopcbmem: unable to register TCP socketThis event occurs during socket creation. It indicates a failure to attach the TCP protocol to a socket because of insufficient memory to allocate a new protocol control structure. This event can occur when creating a socket locally with the socket( ) call or when creating a socket in response to a connection request from a remote peer. Following this event, the (incomplete) socket is destroyed. This event is part of the auxiliary net event class. No additional filters are available.
sosend-error: unable to transmit application dataThis event indicates that the network stack is unable to fulfill a send request for a socket. It could be caused by invalid parameters to the API routine, or by the socket state, or by an internal error at the protocol level. This event is part of the core net event class. No additional filters are available.
soreceive-error: unable to receive application dataThis event indicates that the network stack is unable to complete a socket receive request. It could be caused by invalid parameters to the API routine, or by the socket state, or by an internal error at the protocol level. This event is part of the core net event class. No additional filters are available.
This priority level contains events which indicate correctable transient errors. Most of these events occur in response to invalid user commands, such as an attempt to bind a socket endpoint to an invalid address. The operations are not completed, but the ability of the network processing to send and receive data for other applications is not necessarily affected.
ifioctl-badifname: failed control operation - unknown interfaceThis event occurs when the network stack is processing a request from the generic I/O control interface. The ioctl.h include file defines the available operations. The request parameter included in this event contains the resulting four byte value. The first two arguments to the _IOxx macros in the include file provide the values for the final two bytes, which indicate the particular request. The third byte indicates whether it applies to sockets (`s': 0x73), routes (`r': 0x72), or interfaces (`i': 0x69). The fourth byte (second argument) is a unique offset within each category.
The ifioctl( ) routine handles some interface-specific operations (request values with the format 0xaabb69dd) and performs preliminary processing for the remainder. . This event indicates that the network stack is unable to assign (or retrieve) an interface setting because the specified interface name does not match any configured device. This event is part of the auxiliary net event class. No additional filters are available.
ifioctl-noproto: failed control operation - unknown protocolThis event occurs when the network stack is processing a request from the generic I/O control interface. The ioctl.h include file defines the available operations. The request parameter included in this event contains the resulting four byte value. The first two arguments to the _IOxx macros in the include file provide the values for the final two bytes, which indicate the particular request. The third byte indicates whether it applies to sockets (`s': 0x73), routes (`r': 0x72), or interfaces (`i': 0x69). The fourth byte (second argument) is a unique offset within each category.
The ifioctl( ) request handles some interface-specific operations (request values with the format 0xaabb69dd) and performs preliminary processing for the remainder. This event indicates that the network stack is unable to complete an Internet control operation because the socket used is not associated with any protocol. This event is part of the auxiliary net event class. No additional filters are available.
arpioctl-badreq: failed ARP control operation - unknown protocolThis event occurs when the network stack is processing a request from the generic I/O control interface. The ioctl.h include file defines the available operations.
The arpioctl( ) routine handles the interface-specific SIOCSARP, SIOCGARP and SIOCDARP operations which provide applications with direct access to the ARP table. This event indicates that the address family of either the protocol or hardware addresses is not supported. All ARP operations require an address family of AF_INET for the protocol address and AF_UNSPEC for the hardware address. This event is part of the auxiliary net event class. No additional filters are available.
ether_output-afnotsupp: send failed - unknown protocolThis event indicates that the interface between the IP layer and a link layer device received data intended for a destination address in an unsupported protocol family. The outgoing data is discarded. The only valid address families are AF_INET for IP addresses and AF_UNSPEC (which is only used internally) for raw Ethernet frames. The most likely cause for this error is an incorrect entry in the routing table. This event is part of the core net event class. No additional filters are available.
in_control-noifdata: failed control operation - unknown addressThis event occurs when the network stack is processing a request from the generic I/O control interface. The ioctl.h include file defines the available operations. The request parameter included in this event contains the resulting four byte value. The first two arguments to the _IOxx macros in the include file provide the values for the final two bytes, which indicate the particular request. The third byte indicates whether it applies to sockets (`s': 0x73), routes (`r': 0x72), or interfaces (`i': 0x69). The fourth byte (second argument) is a unique offset within each category.
The in_control( ) routine handles most interface-specific operations (request values with the format 0xaabb69dd). This event indicates the network stack is unable to complete the request because the expected address information is missing. It occurs if no address is assigned to the given interface or when attempting to delete an IP address that is not currently assigned to the interface. The corresponding ioctl( ) call returns ERROR with an error number setting of EADDRNOTAVAIL. This event is part of the auxiliary net event class. No additional filters are available.
in_control-badflags: failed control operation - incorrect interface typeThis event occurs when the network stack is processing a request from the generic I/O control interface. The ioctl.h include file defines the available operations. The request parameter included in this event contains the resulting four byte value. The first two arguments to the _IOxx macros in the include file provide the values for the final two bytes, which indicate the particular request. The third byte indicates whether it applies to sockets (`s': 0x73), routes (`r': 0x72), or interfaces (`i': 0x69). The fourth byte (second argument) is a unique offset within each category.
The in_control( ) routine handles most interface-specific operations (request values with the format 0xaa2069dd). This event indicates the network stack is unable to complete the request because the address is not valid for the interface. Broadcast addresses are only available for interfaces with the IFF_BROADCAST flag set and destination addresses are only available if the IFF_POINTOPOINT flag is set. The corresponding ioctl( ) call returns ERROR with an error number setting of EINVAL. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbbind-noaddr: unable to name socket - no interfaces availableThis event indicates that the network stack is unable to assign a local address and port number to a socket endpoint because no IP addresses have been assigned to the available interfaces.
The socket name is usually assigned by an explicit call to the bind( ) routine, but may be added automatically when necessary. Implicit binds occur during the listen( ) routine for unbound TCP sockets, during the sendto( ) routine for unconnected UDP sockets, and during the connect( ) routine for unbound sockets of either type. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbbind-badsock: unable to name socket - already boundThis event indicates that the network stack is unable to assign a local address and port number to a socket endpoint because those values are already present. A socket can only be bound once. The current information is unchanged.
The socket name is usually assigned by an explicit call to the bind( ) routine, but may be added automatically when necessary. Implicit binds occur during the listen( ) routine for unbound TCP sockets, during the sendto( ) routine for unconnected UDP sockets, and during the connect( ) routine for unbound sockets of either type. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbbind-badaddrlen: unable to name socket - invalid address lengthThis event indicates that the network stack is unable to assign a local address and port number to a socket endpoint because the buffer containing the given values is not the correct size. That information must be provided in a 16 byte sockaddr_in data structure.
The socket name is usually assigned by an explicit call to the bind( ) routine, but may be added automatically when necessary. Implicit binds occur during the listen( ) routine for unbound TCP sockets, during the sendto( ) routine for unconnected UDP sockets, and during the connect( ) routine for unbound sockets of either type. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbbind-badaddr: unable to name socket - invalid addressThis event indicates that the network stack is unable to assign a local address and port number to a socket endpoint because the given address value is not directly reachable by any of the available interfaces. Unless it is 0 (for wildcard matches) or a multicast address, it must match the IP address or broadcast address (if any) of a local interface.
The socket name is usually assigned by an explicit call to the bind( ) routine, but may be added automatically when necessary. Implicit binds occur during the listen( ) routine for unbound TCP sockets, during the sendto( ) routine for unconnected UDP sockets, and during the connect( ) routine for unbound sockets of either type. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbbind-badport: unable to name socket - duplicate portThis event indicates that the network stack is unable to assign a local address and port number to a socket endpoint because the given port value is in exclusive use by another socket with a matching local address. Multiple sockets can always use the same port number if the SO_REUSEPORT option is set for all matching sockets. The SO_REUSEADDR option has the same meaning as SO_REUSEPORT for multicast addresses. It also allows a pair of sockets which both use that option to share the same local port if one of them is bound to the wildcard address, but has no effect in any other case.
The socket name is usually assigned by an explicit call to the bind( ) routine, but may be added automatically when necessary. Implicit binds occur during the listen( ) routine for unbound TCP sockets, during the sendto( ) routine for unconnected UDP sockets, and during the connect( ) routine for unbound sockets of either type. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbladdr-badaddr: unable to connect - unreachable destination addressThis event indicates that the network stack is unable to verify the given remote address. That validation generally occurs when attempting to assign a local address and port number to a socket endpoint using the remote endpoint values during an implicit bind.The local address is assigned based on that information during the connect( ) routine for unbound TCP and UDP sockets and during the sendto( ) routine for unconnected UDP sockets. The same routine also validates the remote address when a connection request arrives on a TCP socket in the LISTEN state, but the local address is already chosen in that case.
If the remote address is valid, this event indicates that a required local address was unavailable because no IP addresses have been assigned to any local interface. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbladdr-badif: unable to connect - unavailable multicast interfaceThis event indicates that the network stack is unable to use the specified outgoing interface. The destination is a multicast address but the outgoing interface for all multicast packets (set with the IP_MULTICAST_IF socket option) is no longer available. This event occurs after assigning a local address and port number to a socket endpoint using valid remote endpoint values during an implicit bind.The local address is assigned based on that information during the connect( ) routine for unbound TCP and UDP sockets and during the sendto( ) routine for unconnected UDP sockets. This event is part of the auxiliary net event class. No additional filters are available.
in_pcbconnect-badaddr: unable to connect - duplicate address pairThis event indicates that the network stack is unable to use the socket for connections because the current local and remote endpoints match the values for an existing connection. Multiple connections between a particular local address and port number and remote address and port number are not permitted.
Connections are usually established explicitly for TCP and UDP sockets by the connect( ) call, but temporary connections are also created by the sendto( ) call for unconnected UDP sockets. This event is part of the auxiliary net event class. No additional filters are available.
ip_mrouter_cmd-notinit: incomplete multicast routing initializationThis event indicates that the network stack is unable to process a control operation related to multicast routing support. The setsockopt( ) routine provides access to these commands through raw sockets with a level argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The ip_mrouter_cmd( ) routine is the default handler for all related options, which have values beginning at 100 (DVMRP_INIT).
This event occurs because the hook routine which forwards multicast packets is not available. The corresponding setsockopt( ) call returns ERROR with an error number setting of EACCES. The DVMRP_INIT operation installs the ip_mforward( ) routine for that purpose. Custom handling is available by assigning an alternate function to the _mCastRouteFwdHook global variable.
This event is part of the auxiliary net event class. No additional filters are available.
ip_mrouter_cmd-badcmd: unknown multicast router optionThis event indicates that the network stack is unable to process a control operation related to multicast routing support. The setsockopt( ) routine provides access to these commands through raw sockets with a <level> argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The ip_mrouter_cmd( ) routine is the default handler for all related options, which have values beginning at 100 (DVMRP_INIT).
This event occurs because the command code is not recognized. The corresponding setsockopt( ) call returns ERROR with an error number setting of EOPNOTSUPP. Custom handling is available by assigning an alternate function to the _mCastRouteCmdHook global variable.
This event is part of the auxiliary net event class. No additional filters are available.
add_vif-badindex: invalid interface for multicast routing - table size exceededThis event indicates that the network stack is unable to complete the DVMRP_ADD_VIF command which registers an interface for multicast routing. The setsockopt( ) routine provides access to that command through raw sockets with a <level> argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The <optval> argument for this option provides a data structure which includes a unique index for each interface. This event occurs when that index value exceeds the maximum interface table size. The corresponding setsockopt( ) call returns ERROR with an error number setting of EINVAL. This event is part of the auxiliary net event class. No additional filters are available.
add_vif-badentry: invalid interface for multicast routing - table entry in useThis event indicates that the network stack is unable to complete the DVMRP_ADD_VIF command which registers an interface for multicast routing. The setsockopt( ) routine provides access to that command through raw sockets with a level argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The optval argument for this option provides a data structure which includes a unique index for each interface. This event occurs when that index value accesses a table entry which is already assigned to a local interface. The corresponding setsockopt( ) call returns ERROR with an error number setting of EADDRINUSE. This event is part of the auxiliary net event class. No additional filters are available.
add_vif-badaddr: invalid interface for multicast routing - no such addressThis event indicates that the network stack is unable to complete the DVMRP_ADD_VIF command which registers an interface for multicast routing. The setsockopt( ) routine provides access to that command through raw sockets with a level argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The optval argument for this option provides a data structure which includes a local IP address for the interface. This event occurs when that address is not assigned to any device. The corresponding setsockopt( ) call returns ERROR with an error number setting of EADDRNOTAVAIL. This event is part of the auxiliary net event class. No additional filters are available.
add_vif-badif: invalid interface for multicast routing - not multicastThis event indicates that the network stack is unable to complete the DVMRP_ADD_VIF command which registers an interface for multicast routing. The setsockopt( ) routine provides access to that command through raw sockets with a level argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The optval argument for this option provides a data structure which includes a flag (VIFF_TUNNEL: 0x1) allowing support for that protocol over non-multicast routers. This event occurs when that flag is not set and the local interface does not support multicast. The corresponding setsockopt( ) call returns ERROR with an error number setting of EOPNOTSUPP. This event is part of the auxiliary net event class. No additional filters are available.
del_vif-badindex: unknown multicast routing interface - table size exceededThis event indicates that the network stack is unable to complete the DVMRP_DEL_VIF command which removes an interface from the multicast routing protocol. The setsockopt( ) routine provides access to that command through raw sockets with a level argument of IPPROTO_IP. It is typically called by an implementation of the DVMRP routing protocol. The optval argument for this option provides a data structure which includes a unique index for each interface. This event occurs when that index value exceeds the maximum index currently in use. The corresponding setsockopt( ) call returns ERROR with an error number setting of EINVAL. This event is part of the auxiliary net event class. No additional filters are available.