v4 if next to v6 if, not to nat64

This commit is contained in:
Nico Schottelius 2019-07-25 14:40:20 +02:00
commit 7bba816f2c
2 changed files with 38 additions and 19 deletions

View file

@ -130,35 +130,35 @@ control RealMain(
v4_networks.apply(); /* apply egress for IPv4 */
exit; /* no further v6 processing */
} else if(hdr.ipv4.isValid()) {
if(nat46.apply().hit) {
if(hdr.icmp.isValid()) {
nat46_icmp_generic();
if(hdr.icmp.type == ICMP_ECHO_REPLY) {
hdr.icmp6.type = ICMP6_ECHO_REPLY;
}
if(hdr.icmp.type == ICMP_ECHO_REQUEST) {
hdr.icmp6.type = ICMP6_ECHO_REQUEST;
}
}
if(hdr.udp.isValid()) {
delta_udp_from_v4_to_v6
}
if(hdr.tcp.isValid()) {
delta_tcp_from_v4_to_v6
}
v6_networks.apply();
exit;
}
v4_networks.apply(); /* regular routing, egress */
}
} else if(hdr.ipv4.isValid()) {
if(nat46.apply().hit) {
if(hdr.icmp.isValid()) {
nat46_icmp_generic();
if(hdr.icmp.type == ICMP_ECHO_REPLY) {
hdr.icmp6.type = ICMP6_ECHO_REPLY;
}
if(hdr.icmp.type == ICMP_ECHO_REQUEST) {
hdr.icmp6.type = ICMP6_ECHO_REQUEST;
}
}
if(hdr.udp.isValid()) {
delta_udp_from_v4_to_v6
}
if(hdr.tcp.isValid()) {
delta_tcp_from_v4_to_v6
}
v6_networks.apply();
exit;
}
v4_networks.apply(); /* regular routing, egress */
}
lookup_table.apply();
}
}
control TopPipe(