diff options
author | Mikael Magnusson <mikma@users.sourceforge.net> | 2021-01-23 01:14:51 +0100 |
---|---|---|
committer | Mikael Magnusson <mikma@users.sourceforge.net> | 2021-01-23 21:43:01 +0100 |
commit | 2ce080f581556f9512a481e7fcddecaed0ae7be7 (patch) | |
tree | 13e32a386e0fbddd21aa22f07fd1b841a51e2099 /pkg/tcpip/header/gre.go | |
parent | 0627e26831c8c58a5fab619d127587dc1ad8a19b (diff) |
WIP GRE tunnel
Diffstat (limited to 'pkg/tcpip/header/gre.go')
-rw-r--r-- | pkg/tcpip/header/gre.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/tcpip/header/gre.go b/pkg/tcpip/header/gre.go new file mode 100644 index 000000000..3d1cc97d9 --- /dev/null +++ b/pkg/tcpip/header/gre.go @@ -0,0 +1,19 @@ +package header + +import ( + "encoding/binary" + + "gvisor.dev/gvisor/pkg/tcpip" +) + +const ( + greProtocolType = 2 +) + +// GRE represents a GRE header stored in a byte array. +type GRE []byte + +// SetLength sets the "length" field of the udp header. +func (b GRE) SetProtocolType(protocol tcpip.NetworkProtocolNumber) { + binary.BigEndian.PutUint16(b[greProtocolType:], uint16(protocol)) +} |