wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Fields
nl80211_wowlan_tcp_data_seq Struct Reference

DOC: TCP connection wakeup. More...

#include <nl80211_copy.h>

Data Fields

__u32 start
 
__u32 offset
 
__u32 len
 

Detailed Description

DOC: TCP connection wakeup.

Some devices can establish a TCP connection in order to be woken up by a packet coming in from outside their network segment, or behind NAT. If configured, the device will establish a TCP connection to the given service, and periodically send data to that service. The first data packet is usually transmitted after SYN/ACK, also ACKing the SYN/ACK. The data packets can optionally include a (little endian) sequence number (in the TCP payload!) that is generated by the device, and, also optionally, a token from a list of tokens. This serves as a keep-alive with the service, and for NATed connections, etc.

During this keep-alive period, the server doesn't send any data to the client. When receiving data, it is compared against the wakeup pattern (and mask) and if it matches, the host is woken up. Similarly, if the connection breaks or cannot be established to start with, the host is also woken up.

Developer's note: ARP offload is required for this, otherwise TCP response packets might not go through correctly. WoWLAN TCP data sequence

Parameters
startstarting value
offsetoffset of sequence number in packet
lenlength of the sequence value to write, 1 through 4

Note: don't confuse with the TCP sequence number(s), this is for the keepalive packet payload. The actual value is written into the packet in little endian.


The documentation for this struct was generated from the following file: