I googled for so much of time and not able to get convincing reasons.
I got few links but are not much useful for my doube:
VpnService to capture packets.
Android firewall with VpnService.
In all the places I obsesrve (Examples in google) using internal ip address in case of "addAddress()" in the VpnService.Builder.
Why do we need to add internal IP address instead of actual IP address the device is assigned to?
Please guide me to where to look into for my answer :).
After a big study got to know that, that is the IP Address that VPN Server will assign to user on connecting to the server. In all the examples over google, they were just hardcoding the ip addresses with out any comment/explanation which has baffled me.
Anyway as the ip address will be assigned by the VPN Server it will be internal(aka private) ip addresses.