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/third_party/linux/linux-metropolis.config b/third_party/linux/linux-metropolis.config
index 1877ff0..d13769d 100644
--- a/third_party/linux/linux-metropolis.config
+++ b/third_party/linux/linux-metropolis.config
@@ -884,6 +884,7 @@
 # end of Memory Management options
 
 CONFIG_NET=y
+CONFIG_NET_ACT_SAMPLE=y
 CONFIG_NET_INGRESS=y
 
 #
@@ -1120,7 +1121,10 @@
 # CONFIG_PHONET is not set
 # CONFIG_6LOWPAN is not set
 # CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_CLS_MATCHALL=y
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_INGRESS=y
 # CONFIG_DCB is not set
 # CONFIG_DNS_RESOLVER is not set
 # CONFIG_BATMAN_ADV is not set
@@ -1165,7 +1169,7 @@
 # CONFIG_CAIF is not set
 # CONFIG_CEPH_LIB is not set
 # CONFIG_NFC is not set
-# CONFIG_PSAMPLE is not set
+CONFIG_PSAMPLE=y
 # CONFIG_NET_IFE is not set
 # CONFIG_LWTUNNEL is not set
 CONFIG_DST_CACHE=y