commit | 57a62800b8566c07e1c23af718b9d4de1fa663ae | [log] [tgz] |
---|---|---|
author | Chiachang Wang <chiachangwang@google.com> | Mon Jul 03 08:50:36 2023 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Jul 03 08:50:36 2023 +0000 |
tree | d197ebbff93ad8350270da233019d2fb67f928f6 | |
parent | b0cd731f7f173a2efa3e552a4a0219574f96d07d [diff] | |
parent | 7b23df5512e19d18d8d430a2837cd4b7b111b9b7 [diff] |
Merge "Add methods to provide clat v4 source address" am: be2f4047fe am: 7b23df5512 Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2643474 Change-Id: I675721b6dc57954a1618ac8d481eab8cb6df0748 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/service/src/com/android/server/connectivity/Nat464Xlat.java b/service/src/com/android/server/connectivity/Nat464Xlat.java index bbf9cef..f9e07fd 100644 --- a/service/src/com/android/server/connectivity/Nat464Xlat.java +++ b/service/src/com/android/server/connectivity/Nat464Xlat.java
@@ -583,6 +583,21 @@ return mIPv6Address; } + /** + * Get the generated v4 address of clat. + */ + @Nullable + public Inet4Address getClatv4SrcAddress() { + // Variables in Nat464Xlat should only be accessed from handler thread. + ensureRunningOnHandlerThread(); + if (!isStarted()) return null; + + final LinkAddress v4Addr = getLinkAddress(mIface); + if (v4Addr == null) return null; + + return (Inet4Address) v4Addr.getAddress(); + } + private void ensureRunningOnHandlerThread() { if (mNetwork.handler().getLooper().getThread() != Thread.currentThread()) { throw new IllegalStateException(
diff --git a/service/src/com/android/server/connectivity/NetworkAgentInfo.java b/service/src/com/android/server/connectivity/NetworkAgentInfo.java index 08c1455..845c04c 100644 --- a/service/src/com/android/server/connectivity/NetworkAgentInfo.java +++ b/service/src/com/android/server/connectivity/NetworkAgentInfo.java
@@ -1043,6 +1043,14 @@ } /** + * Get the generated v4 address of clat. + */ + @Nullable + public Inet4Address getClatv4SrcAddress() { + return clatd.getClatv4SrcAddress(); + } + + /** * Translate the input v4 address to v6 clat address. */ @Nullable