summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/header
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/tcpip/header')
-rw-r--r--pkg/tcpip/header/gre.go5
-rw-r--r--pkg/tcpip/header/parse/parse.go2
2 files changed, 6 insertions, 1 deletions
diff --git a/pkg/tcpip/header/gre.go b/pkg/tcpip/header/gre.go
index 3d1cc97d9..65f5c1894 100644
--- a/pkg/tcpip/header/gre.go
+++ b/pkg/tcpip/header/gre.go
@@ -13,6 +13,11 @@ const (
// GRE represents a GRE header stored in a byte array.
type GRE []byte
+const (
+ // GREProtocolNumber is GRE's transport protocol number.
+ GREProtocolNumber tcpip.TransportProtocolNumber = 47
+)
+
// SetLength sets the "length" field of the udp header.
func (b GRE) SetProtocolType(protocol tcpip.NetworkProtocolNumber) {
binary.BigEndian.PutUint16(b[greProtocolType:], uint16(protocol))
diff --git a/pkg/tcpip/header/parse/parse.go b/pkg/tcpip/header/parse/parse.go
index 3e5336c04..de3a91227 100644
--- a/pkg/tcpip/header/parse/parse.go
+++ b/pkg/tcpip/header/parse/parse.go
@@ -176,6 +176,6 @@ func TCP(pkt *stack.PacketBuffer) bool {
// Returns true if the header was successfully parsed.
func GRE(pkt *stack.PacketBuffer) bool {
_, ok := pkt.TransportHeader().Consume(4)
- pkt.TransportProtocolNumber = 47
+ pkt.TransportProtocolNumber = header.GREProtocolNumber
return ok
}