Contiki-NG
Loading...
Searching...
No Matches
nat64-tcp.h File Reference

NAT64 TCP splice proxy. More...

#include <stdbool.h>
#include <stdint.h>
#include "nat64-platform.h"

Go to the source code of this file.

Functions

void nat64_tcp_init (void)
 Initialize the TCP splice proxy.
 
void nat64_tcp_set_isn_secret (const uint8_t key[16])
 Set the 128-bit secret key for TCP ISN generation.
 
int nat64_tcp_output (const uint8_t *pkt, uint16_t len)
 Process an outgoing IPv6+TCP packet from an IoT node.
 
void nat64_tcp_flush_acks (void)
 Flush deferred TCP ACKs.
 
bool nat64_tcp_has_pending_data (const struct nat64_session *s)
 Check whether a session has buffered data awaiting delivery.
 
bool nat64_tcp_peer_fin_received (const struct nat64_session *s)
 Check whether the IoT node has already half-closed the session.
 
void nat64_tcp_free_seqstate (const struct nat64_session *s)
 Free any TCP sequence state associated with a session.
 

Detailed Description

NAT64 TCP splice proxy.

Terminates TCP on both the IPv6 and IPv4 sides and splices the data streams. Per-session sequence number state lets the proxy generate IoT-side ACKs and RFC 6528-compliant ISNs without translating headers across address families.

Author
Nicolas Tsiftes nicol.nosp@m.as.t.nosp@m.sifte.nosp@m.s@ri.nosp@m..se

Definition in file nat64-tcp.h.