From d4fe2c3a5030e378fe2b9aa24ac1a9d4f6970c74 Mon Sep 17 00:00:00 2001 From: Motomu Utsumi Date: Mon, 23 Oct 2023 16:53:51 +0900 Subject: [PATCH] Add java class for Ingress discard bpf map key value Bug: 295800201 Test: TH Change-Id: Ic9ac423aee2a8fb9709b0acf012ec57cdfa019f9 --- .../module/util/bpf/IngressDiscardKey.java | 32 +++++++++++++++++ .../module/util/bpf/IngressDiscardValue.java | 34 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 common/src/com/android/net/module/util/bpf/IngressDiscardKey.java create mode 100644 common/src/com/android/net/module/util/bpf/IngressDiscardValue.java diff --git a/common/src/com/android/net/module/util/bpf/IngressDiscardKey.java b/common/src/com/android/net/module/util/bpf/IngressDiscardKey.java new file mode 100644 index 0000000000..eabcf3cce7 --- /dev/null +++ b/common/src/com/android/net/module/util/bpf/IngressDiscardKey.java @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.net.module.util.bpf; + +import com.android.net.module.util.Struct; + +import java.net.Inet6Address; + +/** Key type for ingress discard map */ +public class IngressDiscardKey extends Struct { + // The destination ip of the incoming packet. IPv4 uses IPv4-mapped IPv6 address. + @Field(order = 0, type = Type.Ipv6Address) + public final Inet6Address dstAddr; + + public IngressDiscardKey(final Inet6Address dstAddr) { + this.dstAddr = dstAddr; + } +} diff --git a/common/src/com/android/net/module/util/bpf/IngressDiscardValue.java b/common/src/com/android/net/module/util/bpf/IngressDiscardValue.java new file mode 100644 index 0000000000..7df3620f41 --- /dev/null +++ b/common/src/com/android/net/module/util/bpf/IngressDiscardValue.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.net.module.util.bpf; + +import com.android.net.module.util.Struct; + +/** Value type for ingress discard map */ +public class IngressDiscardValue extends Struct { + // Allowed interface indexes. + // Use the same value for iif1 and iif2 if there is only a single allowed interface index. + @Field(order = 0, type = Type.S32) + public final int iif1; + @Field(order = 1, type = Type.S32) + public final int iif2; + + public IngressDiscardValue(final int iif1, final int iif2) { + this.iif1 = iif1; + this.iif2 = iif2; + } +}