AETHER-3162 Remove magma leftover iptables rule from enodebd

AETHER-3198 Add REUSE compliant to enodebd
AETHER-3196 Support identify IP from X-Real IP in enodebd
AETHER-3229 Documentation of configuration and state machine for enodebd
AETHER-3292 Adding new parameter to support in enodebd Sercomm driver
AETHER-3311 Remove unused protobuf definition from enodebd

Change-Id: Ie69f0141eff70cb3d4447cd9575c8224d42dd5e3
diff --git a/proto_files/lte/protos/BUILD.bazel b/proto_files/lte/protos/BUILD.bazel
new file mode 100644
index 0000000..8eb5ee4
--- /dev/null
+++ b/proto_files/lte/protos/BUILD.bazel
@@ -0,0 +1,222 @@
+# SPDX-FileCopyrightText: 2020 The Magma Authors.
+# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
+#
+# SPDX-License-Identifier: BSD-3-Clause
+
+load("@rules_proto//proto:defs.bzl", "proto_library")
+load("@rules_proto_grpc//cpp:defs.bzl", "cpp_grpc_library", "cpp_proto_library")
+
+package(default_visibility = ["//visibility:public"])
+
+cpp_proto_library(
+    name = "mconfigs_cpp_proto",
+    protos = [":mconfigs_proto"],
+    deps = ["//orc8r/protos:common_cpp_proto"],
+)
+
+proto_library(
+    name = "mconfigs_proto",
+    srcs = ["mconfig/mconfigs.proto"],
+    deps = ["//orc8r/protos:common_proto"],
+)
+
+cpp_grpc_library(
+    name = "abort_session_cpp_grpc",
+    protos = [":abort_session_proto"],
+)
+
+cpp_proto_library(
+    name = "abort_session_cpp_proto",
+    protos = [":abort_session_proto"],
+)
+
+proto_library(
+    name = "abort_session_proto",
+    srcs = ["abort_session.proto"],
+)
+
+cpp_proto_library(
+    name = "apn_cpp_proto",
+    protos = [":apn_proto"],
+)
+
+proto_library(
+    name = "apn_proto",
+    srcs = ["apn.proto"],
+)
+
+cpp_proto_library(
+    name = "subscriberdb_cpp_proto",
+    protos = [":subscriberdb_proto"],
+    deps = [
+        ":apn_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+        "//orc8r/protos:digest_cpp_proto",
+    ],
+)
+
+cpp_grpc_library(
+    name = "subscriberdb_cpp_grpc",
+    protos = [":subscriberdb_proto"],
+    deps = [
+        ":apn_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+        "//orc8r/protos:digest_cpp_proto",
+    ],
+)
+
+proto_library(
+    name = "subscriberdb_proto",
+    srcs = ["subscriberdb.proto"],
+    deps = [
+        ":apn_proto",
+        "//orc8r/protos:common_proto",
+        "//orc8r/protos:digest_proto",
+        "@protobuf//:field_mask_proto",
+    ],
+)
+
+cpp_proto_library(
+    name = "mobilityd_cpp_proto",
+    protos = [":mobilityd_proto"],
+    deps = [":subscriberdb_cpp_proto"],
+)
+
+cpp_grpc_library(
+    name = "mobilityd_cpp_grpc",
+    protos = [":mobilityd_proto"],
+    deps = [
+        ":subscriberdb_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+proto_library(
+    name = "mobilityd_proto",
+    srcs = ["mobilityd.proto"],
+    deps = [
+        ":subscriberdb_proto",
+        "//orc8r/protos:common_proto",
+    ],
+)
+
+cpp_proto_library(
+    name = "policydb_cpp_proto",
+    protos = [":policydb_proto"],
+    deps = [
+        ":mobilityd_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+cpp_grpc_library(
+    name = "policydb_cpp_grpc",
+    protos = [":policydb_proto"],
+    deps = [
+        ":mobilityd_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+proto_library(
+    name = "policydb_proto",
+    srcs = ["policydb.proto"],
+    deps = [
+        ":mobilityd_proto",
+        "//orc8r/protos:common_proto",
+    ],
+)
+
+cpp_proto_library(
+    name = "session_manager_cpp_proto",
+    protos = [":session_manager_proto"],
+    deps = [
+        ":apn_cpp_proto",
+        ":policydb_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+cpp_grpc_library(
+    name = "session_manager_cpp_grpc",
+    protos = [":session_manager_proto"],
+    deps = [
+        ":apn_cpp_proto",
+        ":policydb_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+proto_library(
+    name = "session_manager_proto",
+    srcs = ["session_manager.proto"],
+    deps = [
+        ":apn_proto",
+        ":policydb_proto",
+        ":subscriberdb_proto",
+        "//orc8r/protos:common_proto",
+        "@protobuf//:timestamp_proto",
+    ],
+)
+
+cpp_proto_library(
+    name = "pipelined_cpp_proto",
+    protos = [":pipelined_proto"],
+    deps = [
+        ":apn_cpp_proto",
+        ":policydb_cpp_proto",
+        ":session_manager_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+cpp_grpc_library(
+    name = "pipelined_cpp_grpc",
+    protos = [":pipelined_proto"],
+    deps = [
+        ":apn_cpp_proto",
+        ":policydb_cpp_proto",
+        ":session_manager_cpp_proto",
+        "//orc8r/protos:common_cpp_proto",
+    ],
+)
+
+proto_library(
+    name = "pipelined_proto",
+    srcs = ["pipelined.proto"],
+    deps = [
+        ":apn_proto",
+        ":mobilityd_proto",
+        ":policydb_proto",
+        ":session_manager_proto",
+        ":subscriberdb_proto",
+        "//orc8r/protos:common_proto",
+    ],
+)
+
+cpp_grpc_library(
+    name = "spgw_service_cpp_grpc",
+    protos = [":spgw_service_proto"],
+    deps = [
+        "policydb_cpp_proto",
+        "subscriberdb_cpp_proto",
+    ],
+)
+
+cpp_proto_library(
+    name = "spgw_service_cpp_proto",
+    protos = [":spgw_service_proto"],
+    deps = [
+        ":policydb_cpp_proto",
+        ":subscriberdb_cpp_proto",
+    ],
+)
+
+proto_library(
+    name = "spgw_service_proto",
+    srcs = ["spgw_service.proto"],
+    deps = [
+        ":policydb_proto",
+        ":subscriberdb_proto",
+    ],
+)