How cernet/map works
MAP is a Linux/OpenWrt customer-edge implementation that carries IPv4 traffic over IPv6 using MAP-T translation or MAP-E encapsulation, with optional NAT44. The principal workflow is operator configuration followed by IPv4/IPv6 packet interception, address/rule mapping, transport-port handling, and transmission in the opposite protocol family. The graph reflects the sampled controller, ioctl, hook, mapping, and transmission code; README-described compatibility modes are retained as capabilities, but their internal implementation paths are not inferred.
Main entry points: ivi_xmit.c Packet conversion · ivi_nf.c Netfilter hooks · ivi_ioctl.c Config interface · ivictl.c ivictl
Components 15
Configuration
- Mode examples
zyhgw-T44 - ivictl
utils/ivictl.c - Config interface
modules/ivi_ioctl.c - Module lifecycle
modules/ivi_module.c
Packet processing
- Netfilter hooks
modules/ivi_nf.c - Packet conversion
modules/ivi_xmit.c
Mapping state
- IPv4 rule trie
modules/ivi_rule.c - IPv6 rule radix
modules/ivi_rule6.c - UDP/ICMP mappings
modules/ivi_map.c - TCP mappings
modules/ivi_map_tcp.c
Networks
- Private IPv4 network
- IPv6 domain
- Public IPv4 network
- Compatibility modes
Other components
- CPE operator
Connections 17
- CPE operator → Mode examples: selects mode
- Mode examples → ivictl: configure
- CPE operator → ivictl: sets parameters
- ivictl → Config interface: issues ioctls
- Config interface → IPv4 rule trie: inserts rules
- Config interface → IPv6 rule radix: inserts rules
- Module lifecycle → Netfilter hooks: registers hooks
- Private IPv4 network → Netfilter hooks: sends IPv4
- IPv6 domain → Netfilter hooks: sends IPv6
- Netfilter hooks → Packet conversion: dispatches packets
- Packet conversion → IPv4 rule trie: looks up IPv4
- Packet conversion → IPv6 rule radix: looks up IPv6
- Packet conversion → UDP/ICMP mappings: maps UDP/ICMP ports
- Packet conversion → TCP mappings: maps TCP ports
- Packet conversion → IPv6 domain: emits MAP-E/T
- Packet conversion → Public IPv4 network: emits IPv4
- Compatibility modes → CPE operator: supports