v4 if next to v6 if, not to nat64
This commit is contained in:
parent
f80ecc1d68
commit
7bba816f2c
2 changed files with 38 additions and 19 deletions
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue