aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/vnet.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-03-21 15:27:47 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-03-21 15:27:47 +0100
commit5b64ead83b3ebabba9dbedc2c553c151947a6bb1 (patch)
tree7ecfb054008b9d6b727be5cb0af15a9a8b091f8a /sys/linux/vnet.txt
parent81c512e6b1d669ff9c0f1aa349402c9cd35b1b79 (diff)
sys/linux: add guehdr for udp packets
Diffstat (limited to 'sys/linux/vnet.txt')
-rw-r--r--sys/linux/vnet.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/linux/vnet.txt b/sys/linux/vnet.txt
index b046c9733..1f7902cc7 100644
--- a/sys/linux/vnet.txt
+++ b/sys/linux/vnet.txt
@@ -849,14 +849,33 @@ tcp_payload {
# https://tools.ietf.org/html/rfc768
# https://en.wikipedia.org/wiki/User_Datagram_Protocol#Packet_structure
+include <net/gue.h>
+
udp_packet {
src_port sock_port
dst_port sock_port
length len[parent, int16be]
csum csum[parent, pseudo, IPPROTO_UDP, int16be]
+ extensions array[udp_extensions]
data array[int8]
} [packed]
+udp_extensions [
+ guehdr guehdr
+] [varlen]
+
+guehdr {
+ hlen bytesize4[parent, int8:5]
+ control int8:1
+ version int8:2
+ proto_ctype int8
+ flags flags[guehdr_flags, int16]
+ priv array[flags[guehdr_prov_flags, int32], 0:1]
+} [packed]
+
+guehdr_flags = GUE_FLAG_PRIV
+guehdr_prov_flags = GUE_PFLAG_REMCSUM
+
################################################################################
###################################### GRE #####################################
################################################################################