commit | 7b23df5512e19d18d8d430a2837cd4b7b111b9b7 | [log] [tgz] |
---|---|---|
author | Chiachang Wang <chiachangwang@google.com> | Mon Jul 03 08:13:20 2023 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Jul 03 08:13:20 2023 +0000 |
tree | 8ca45673504d1652c1cf924e0382d8a440759f87 | |
parent | a21c10ccc3407a192d175276037303757261f5e9 [diff] | |
parent | be2f4047febc7d6dd206137a38d44b643dfd3301 [diff] |
Merge "Add methods to provide clat v4 source address" am: be2f4047fe Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/2643474 Change-Id: Idb520507ba6ebf1df27fd6102f8f0d06ec71d6a2 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