nat_misc.h
NatPortFwdRule * natMatchPortFwdRule(NatContext *context, const NatIpPacket *packet)
Search the port forwarding rules for a matching entry.
Definition: nat_misc.c:601
uint16_t natAllocateIcmpQueryId(NatContext *context)
Allocate a new ICMP query identifier.
Definition: nat_misc.c:870
error_t natParseTransportHeader(NatIpPacket *packet)
Parse transport header (TCP, UDP or ICMP)
Definition: nat_misc.c:915
NatSession * natMatchSession(NatContext *context, const NatIpPacket *packet)
Search the NAT sessions for a matching entry.
Definition: nat_misc.c:663
error_t natForwardPacket(NatContext *context, const NatIpPacket *packet)
Forward an IP packet to the specified interface.
Definition: nat_misc.c:521
error_t natTranslateOutboundPacket(NatContext *context, NatIpPacket *packet)
Perform address translation (outbound packet)
Definition: nat_misc.c:378
error_t natProcessPacket(NatContext *context, NetInterface *inInterface, const Ipv4PseudoHeader *inPseudoHeader, const NetBuffer *inBuffer, size_t inOffset, NetRxAncillary *ancillary)
Process IP packet.
Definition: nat_misc.c:179
error_t natTranslateInboundPacket(NatContext *context, NatIpPacket *packet)
Perform address translation (inbound packet)
Definition: nat_misc.c:313
error_t natTranslateTransportHeader(const NatIpPacket *packet, const Ipv4PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset)
Translate transport header (TCP, UDP or ICMP)
Definition: nat_misc.c:1019
bool_t natIsPublicInterface(NatContext *context, NetInterface *interface)
Check whether a network interface is the WAN interface.
Definition: nat_misc.c:110
bool_t natIsPrivateInterface(NatContext *context, NetInterface *interface)
Check whether a network interface is a LAN interface.
Definition: nat_misc.c:139
NAT (IP Network Address Translator)
void natDumpPacket(const NatIpPacket *packet)
Dump IP packet for debugging purpose.
Definition: nat_misc.c:1108
TCP/IP stack core.
NatSession * natCreateSession(NatContext *context)
Create a new NAT session.
Definition: nat_misc.c:768
