Remove NAPT from PacketForwarder
Consider below scenario: Internal address: 1.2.3.4 External address: 5.6.7.8 Remote address: 8.8.8.8 When a packet was sent from 1.2.3.4 to 8.8.8.8, the current design translate it to a packet from 8.8.8.8 to 5.6.7.8 and foward it to the external interface. However, when the response is received from the external interface, there is a need to remember what is the original address to forward to. Thus, an address translation mechanism was introduced in current design. This change simplify PacketForwarder by removing the address translation. Consider, if the 2 interfaces are using the same address. Internal address: 1.2.3.4 External address: 1.2.3.4 Remote address: 8.8.8.8 When a packet was sent from 1.2.3.4 to 8.8.8.8, simply swap source and destination and and foward it to the external interface. When there is a response from the external interface, the same process can be done, this removes the need of address translation. Test: atest NetworkStackIntegrationTests:android.net.NetworkStatsIntegrationTest Test: atest CtsHostsideNetworkTests:com.android.cts.net.HostsideVpnTests Bug: N/A Change-Id: I86f2e774e9112905e5255b5a28c927562a42ab84
Loading
Please register or sign in to comment