mirror of
https://github.com/apache/nuttx.git
synced 2026-05-30 05:16:47 +08:00
Networking: No that ARP, ICMP, and ICMPv6 reside in the same list we need to make the definitions of ARP_POLL, ICMP_POLL, and ICMPv6_POLL different because there are small differences in the context for each.
This commit is contained in:
+47
-19
@@ -80,12 +80,38 @@
|
|||||||
* was last sent. (TCP only)
|
* was last sent. (TCP only)
|
||||||
* OUT: Not used
|
* OUT: Not used
|
||||||
*
|
*
|
||||||
* ARP_POLL IN: Used for polling the socket layer. This is provided
|
* ARP_POLL IN: Used for polling the socket layer. This is provided
|
||||||
* TCP_POLL periodically from the drivers to support (1) timed
|
* periodically from the drivers to support (1) timed
|
||||||
* UDP_POLL operations, and (2) to check if the socket layer has
|
* operations, and (2) to check if the ARP layer needs
|
||||||
* PKT_POLL data that it wants to send
|
* to send an ARP request. This is a device oriented
|
||||||
* ICMP_POLL OUT: Not used
|
* event, not associated with a socket.
|
||||||
* ICMPv6_POLL
|
* OUT: Not used
|
||||||
|
*
|
||||||
|
* ICMP_POLL IN: Used for polling the socket layer. This is provided
|
||||||
|
* periodically from the drivers to support (1) timed
|
||||||
|
* operations, and (2) to check if the ICMP layer needs
|
||||||
|
* to send an ARP request. This is a device oriented
|
||||||
|
* event, not associated with a socket. This differs
|
||||||
|
* from ICMPv6_POLL only in that the appdata pointer
|
||||||
|
* is set differently
|
||||||
|
* OUT: Not used
|
||||||
|
*
|
||||||
|
* ICMPv6_POLL IN: Used for polling the socket layer. This is provided
|
||||||
|
* periodically from the drivers to support (1) timed
|
||||||
|
* operations, and (2) to check if the ICMP layer needs
|
||||||
|
* to send an ARP request. This is a device oriented
|
||||||
|
* event, not associated with a socket. This differs
|
||||||
|
* from ICMP_POLL only in that the appdata pointer
|
||||||
|
* is set differently
|
||||||
|
* OUT: Not used
|
||||||
|
*
|
||||||
|
* TCP_POLL IN: Used for polling the socket layer. This is provided
|
||||||
|
* UDP_POLL periodically from the drivers to support (1) timed
|
||||||
|
* PKT_POLL operations, and (2) to check if the socket layer has
|
||||||
|
* data that it wants to send. These are socket oriented
|
||||||
|
* callbacks where the context depends on the specific
|
||||||
|
* set
|
||||||
|
* OUT: Not used
|
||||||
*
|
*
|
||||||
* TCP_BACKLOG IN: There is a new connection in the backlog list set
|
* TCP_BACKLOG IN: There is a new connection in the backlog list set
|
||||||
* up by the listen() command. (TCP only)
|
* up by the listen() command. (TCP only)
|
||||||
@@ -115,11 +141,13 @@
|
|||||||
* OUT: Cleared (only) by the socket layer logic to indicate
|
* OUT: Cleared (only) by the socket layer logic to indicate
|
||||||
* that the reply was processed, suppressing further
|
* that the reply was processed, suppressing further
|
||||||
* attempts to process the reply.
|
* attempts to process the reply.
|
||||||
|
*
|
||||||
* ICMPv6_ECHOREPLY IN: An ICMP Echo Reply has been received. Used to support
|
* ICMPv6_ECHOREPLY IN: An ICMP Echo Reply has been received. Used to support
|
||||||
* ICMP ping from the socket layer. (ICMPv6 only)
|
* ICMP ping from the socket layer. (ICMPv6 only)
|
||||||
* OUT: Cleared (only) by the socket layer logic to indicate
|
* OUT: Cleared (only) by the socket layer logic to indicate
|
||||||
* that the reply was processed, suppressing further
|
* that the reply was processed, suppressing further
|
||||||
* attempts to process the reply.
|
* attempts to process the reply.
|
||||||
|
*
|
||||||
* NETDEV_DOWN: IN: The network device has been taken down.
|
* NETDEV_DOWN: IN: The network device has been taken down.
|
||||||
* OUT: Not used
|
* OUT: Not used
|
||||||
*/
|
*/
|
||||||
@@ -133,19 +161,19 @@
|
|||||||
#define TCP_SNDACK (1 << 2)
|
#define TCP_SNDACK (1 << 2)
|
||||||
#define TCP_REXMIT (1 << 3)
|
#define TCP_REXMIT (1 << 3)
|
||||||
#define ARP_POLL (1 << 4)
|
#define ARP_POLL (1 << 4)
|
||||||
#define TCP_POLL ARP_POLL
|
#define ICMP_POLL (1 << 5)
|
||||||
#define UDP_POLL ARP_POLL
|
#define ICMPv6_POLL (1 << 6)
|
||||||
#define PKT_POLL ARP_POLL
|
#define TCP_POLL (1 << 7)
|
||||||
#define ICMP_POLL ARP_POLL
|
#define UDP_POLL TCP_POLL
|
||||||
#define ICMPv6_POLL ARP_POLL
|
#define PKT_POLL TCP_POLL
|
||||||
#define TCP_BACKLOG (1 << 5)
|
#define TCP_BACKLOG (1 << 8)
|
||||||
#define TCP_CLOSE (1 << 6)
|
#define TCP_CLOSE (1 << 9)
|
||||||
#define TCP_ABORT (1 << 7)
|
#define TCP_ABORT (1 << 10)
|
||||||
#define TCP_CONNECTED (1 << 8)
|
#define TCP_CONNECTED (1 << 11)
|
||||||
#define TCP_TIMEDOUT (1 << 9)
|
#define TCP_TIMEDOUT (1 << 12)
|
||||||
#define ICMP_ECHOREPLY (1 << 10)
|
#define ICMP_ECHOREPLY (1 << 13)
|
||||||
#define ICMPv6_ECHOREPLY (1 << 11)
|
#define ICMPv6_ECHOREPLY (1 << 14)
|
||||||
#define NETDEV_DOWN (1 << 12)
|
#define NETDEV_DOWN (1 << 15)
|
||||||
|
|
||||||
#define TCP_CONN_EVENTS (TCP_CLOSE | TCP_ABORT | TCP_CONNECTED | \
|
#define TCP_CONN_EVENTS (TCP_CLOSE | TCP_ABORT | TCP_CONNECTED | \
|
||||||
TCP_TIMEDOUT | NETDEV_DOWN)
|
TCP_TIMEDOUT | NETDEV_DOWN)
|
||||||
|
|||||||
Reference in New Issue
Block a user