go/net/psample: init

This adds a minimal golang implementation facilitating network packet
sampling based on 'psample' kernel module.

Metropolis kernel configuration was modified both in order for this
change to be testable in a ktest, as well as to make sure Metropolis
will be able to run the included code.

Change-Id: Ie6a4721455f26644b6be01aa6190cf87f21355f3
Reviewed-on: https://review.monogon.dev/c/monogon/+/1102
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/test/ktest/BUILD b/metropolis/test/ktest/BUILD
index 0a5f5b3..952d7e8 100644
--- a/metropolis/test/ktest/BUILD
+++ b/metropolis/test/ktest/BUILD
@@ -14,7 +14,10 @@
     name = "ktest",
     embed = [":ktest_lib"],
     pure = "on",
-    visibility = ["//metropolis:__subpackages__"],
+    visibility = [
+        "//go/net/psample:__pkg__",
+        "//metropolis:__subpackages__",
+    ],
 )
 
 kconfig_patch(
@@ -41,6 +44,7 @@
     # This image is directly used by the ktest macro, thus it needs a pretty
     # wide visibility.
     visibility = [
+        "//go/net/psample:__pkg__",
         "//metropolis:__subpackages__",
     ],
 )
@@ -48,5 +52,8 @@
 filegroup(
     name = "test-script",
     srcs = ["run_ktest.sh"],
-    visibility = ["//metropolis:__subpackages__"],
+    visibility = [
+        "//go/net/psample:__pkg__",
+        "//metropolis:__subpackages__",
+    ],
 )