summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/transport/raw/BUILD
diff options
context:
space:
mode:
authorKevin Krakauer <krakauer@google.com>2019-04-02 11:12:29 -0700
committerShentubot <shentubot@google.com>2019-04-02 11:13:49 -0700
commit52a51a8e20b3e5c28eb1e66bd57203216cf644c5 (patch)
tree4d98f67dc4abb15e6de568b2af12a3e12f41aa99 /pkg/tcpip/transport/raw/BUILD
parent1df3fa69977477092efa65a8de407bd6f0f88db4 (diff)
Add a raw socket transport endpoint and use it for raw ICMP sockets.
Having raw socket code together will make it easier to add support for other raw network protocols. Currently, only ICMP uses the raw endpoint. However, adding support for other protocols such as UDP shouldn't be much more difficult than adding a few switch cases. PiperOrigin-RevId: 241564875 Change-Id: I77e03adafe4ce0fd29ba2d5dfdc547d2ae8f25bf
Diffstat (limited to 'pkg/tcpip/transport/raw/BUILD')
-rw-r--r--pkg/tcpip/transport/raw/BUILD45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkg/tcpip/transport/raw/BUILD b/pkg/tcpip/transport/raw/BUILD
new file mode 100644
index 000000000..005079639
--- /dev/null
+++ b/pkg/tcpip/transport/raw/BUILD
@@ -0,0 +1,45 @@
+package(licenses = ["notice"]) # Apache 2.0
+
+load("//tools/go_generics:defs.bzl", "go_template_instance")
+load("//tools/go_stateify:defs.bzl", "go_library")
+
+go_template_instance(
+ name = "packet_list",
+ out = "packet_list.go",
+ package = "raw",
+ prefix = "packet",
+ template = "//pkg/ilist:generic_list",
+ types = {
+ "Element": "*packet",
+ "Linker": "*packet",
+ },
+)
+
+go_library(
+ name = "raw",
+ srcs = [
+ "packet_list.go",
+ "raw.go",
+ "state.go",
+ ],
+ importpath = "gvisor.googlesource.com/gvisor/pkg/tcpip/transport/raw",
+ imports = ["gvisor.googlesource.com/gvisor/pkg/tcpip/buffer"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//pkg/log",
+ "//pkg/sleep",
+ "//pkg/tcpip",
+ "//pkg/tcpip/buffer",
+ "//pkg/tcpip/header",
+ "//pkg/tcpip/stack",
+ "//pkg/waiter",
+ ],
+)
+
+filegroup(
+ name = "autogen",
+ srcs = [
+ "packet_list.go",
+ ],
+ visibility = ["//:sandbox"],
+)