aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/google/gopacket/layers/tcpip_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/google/gopacket/layers/tcpip_test.go')
-rw-r--r--vendor/github.com/google/gopacket/layers/tcpip_test.go185
1 files changed, 0 insertions, 185 deletions
diff --git a/vendor/github.com/google/gopacket/layers/tcpip_test.go b/vendor/github.com/google/gopacket/layers/tcpip_test.go
deleted file mode 100644
index c002e84..0000000
--- a/vendor/github.com/google/gopacket/layers/tcpip_test.go
+++ /dev/null
@@ -1,185 +0,0 @@
-// Copyright 2014, Google, Inc. All rights reserved.
-//
-// Use of this source code is governed by a BSD-style license
-// that can be found in the LICENSE file in the root of the source
-// tree.
-
-package layers
-
-import (
- "github.com/google/gopacket"
- "net"
- "testing"
-)
-
-const (
- ipv4UDPChecksum = uint16(0xbc5f) // Wireshark
- ipv6UDPChecksumWithIPv6DstOpts = uint16(0x4d21) // Wireshark
- ipv6UDPChecksumJumbogram = uint16(0xcda8)
-)
-
-func createIPv4ChecksumTestLayer() (ip4 *IPv4) {
- ip4 = &IPv4{}
- ip4.Version = 4
- ip4.TTL = 64
- ip4.SrcIP = net.ParseIP("192.0.2.1")
- ip4.DstIP = net.ParseIP("198.51.100.1")
- return
-}
-
-func createIPv6ChecksumTestLayer() (ip6 *IPv6) {
- ip6 = &IPv6{}
- ip6.Version = 6
- ip6.NextHeader = IPProtocolNoNextHeader
- ip6.HopLimit = 64
- ip6.SrcIP = net.ParseIP("2001:db8::1")
- ip6.DstIP = net.ParseIP("2001:db8::2")
- return
-}
-
-func createIPv6DestinationChecksumTestLayer() (dst *IPv6Destination) {
- tlv := &IPv6DestinationOption{}
- tlv.OptionType = 0x01 //PadN
- tlv.OptionData = []byte{0x00, 0x00, 0x00, 0x00}
- dst = &IPv6Destination{}
- dst.Options = append(dst.Options, tlv)
- dst.NextHeader = IPProtocolNoNextHeader
- return
-}
-
-func createUDPChecksumTestLayer() (udp *UDP) {
- udp = &UDP{}
- udp.SrcPort = UDPPort(12345)
- udp.DstPort = UDPPort(9999)
- return
-}
-
-func TestIPv4UDPChecksum(t *testing.T) {
- var serialize []gopacket.SerializableLayer = make([]gopacket.SerializableLayer, 0, 2)
- var u *UDP
- var err error
-
- ip4 := createIPv4ChecksumTestLayer()
- ip4.Protocol = IPProtocolUDP
- serialize = append(serialize, ip4)
-
- udp := createUDPChecksumTestLayer()
- udp.SetNetworkLayerForChecksum(ip4)
- serialize = append(serialize, udp)
-
- buf := gopacket.NewSerializeBuffer()
- opts := gopacket.SerializeOptions{FixLengths: true, ComputeChecksums: true}
- err = gopacket.SerializeLayers(buf, opts, serialize...)
- if err != nil {
- t.Fatal(err)
- }
-
- p := gopacket.NewPacket(buf.Bytes(), LinkTypeRaw, gopacket.Default)
- if p.ErrorLayer() != nil {
- t.Fatal("Failed to decode packet:", p.ErrorLayer().Error())
- }
- checkLayers(p, []gopacket.LayerType{LayerTypeIPv4, LayerTypeUDP}, t)
-
- if l, ok := p.Layer(LayerTypeUDP).(*UDP); !ok {
- t.Fatal("No UDP layer type found in packet")
- } else {
- u = l
- }
- got := u.Checksum
- want := ipv4UDPChecksum
- if got != want {
- t.Errorf("Bad checksum:\ngot:\n%#v\n\nwant:\n%#v\n\n", got, want)
- }
-}
-
-func TestIPv6UDPChecksumWithIPv6DstOpts(t *testing.T) {
- var serialize []gopacket.SerializableLayer = make([]gopacket.SerializableLayer, 0, 3)
- var u *UDP
- var err error
-
- ip6 := createIPv6ChecksumTestLayer()
- ip6.NextHeader = IPProtocolIPv6Destination
- serialize = append(serialize, ip6)
-
- dst := createIPv6DestinationChecksumTestLayer()
- dst.NextHeader = IPProtocolUDP
- serialize = append(serialize, dst)
-
- udp := createUDPChecksumTestLayer()
- udp.SetNetworkLayerForChecksum(ip6)
- serialize = append(serialize, udp)
-
- buf := gopacket.NewSerializeBuffer()
- opts := gopacket.SerializeOptions{FixLengths: true, ComputeChecksums: true}
- err = gopacket.SerializeLayers(buf, opts, serialize...)
- if err != nil {
- t.Fatal(err)
- }
-
- p := gopacket.NewPacket(buf.Bytes(), LinkTypeRaw, gopacket.Default)
- if p.ErrorLayer() != nil {
- t.Fatal("Failed to decode packet:", p.ErrorLayer().Error())
- }
- checkLayers(p, []gopacket.LayerType{LayerTypeIPv6, LayerTypeIPv6Destination, LayerTypeUDP}, t)
-
- if l, ok := p.Layer(LayerTypeUDP).(*UDP); !ok {
- t.Fatal("No UDP layer type found in packet")
- } else {
- u = l
- }
- got := u.Checksum
- want := ipv6UDPChecksumWithIPv6DstOpts
- if got != want {
- t.Errorf("Bad checksum:\ngot:\n%#v\n\nwant:\n%#v\n\n", got, want)
- }
-}
-
-func TestIPv6JumbogramUDPChecksum(t *testing.T) {
- var serialize []gopacket.SerializableLayer = make([]gopacket.SerializableLayer, 0, 4)
- var u *UDP
- var err error
-
- ip6 := &IPv6{}
- ip6.Version = 6
- ip6.NextHeader = IPProtocolUDP
- ip6.HopLimit = 64
- ip6.SrcIP = net.ParseIP("2001:db8::1")
- ip6.DstIP = net.ParseIP("2001:db8::2")
- serialize = append(serialize, ip6)
-
- udp := &UDP{}
- udp.SrcPort = UDPPort(12345)
- udp.DstPort = UDPPort(9999)
- udp.SetNetworkLayerForChecksum(ip6)
- serialize = append(serialize, udp)
-
- payload := make([]byte, ipv6MaxPayloadLength+1)
- for i := range payload {
- payload[i] = 0xfe
- }
- serialize = append(serialize, gopacket.Payload(payload))
-
- buf := gopacket.NewSerializeBuffer()
- opts := gopacket.SerializeOptions{FixLengths: true, ComputeChecksums: true}
- err = gopacket.SerializeLayers(buf, opts, serialize...)
- if err != nil {
- t.Fatal(err)
- }
-
- p := gopacket.NewPacket(buf.Bytes(), LinkTypeRaw, gopacket.Default)
- if p.ErrorLayer() != nil {
- t.Fatal("Failed to decode packet:", p.ErrorLayer().Error())
- }
- checkLayers(p, []gopacket.LayerType{LayerTypeIPv6, LayerTypeIPv6HopByHop, LayerTypeUDP, gopacket.LayerTypePayload}, t)
-
- if l, ok := p.Layer(LayerTypeUDP).(*UDP); !ok {
- t.Fatal("No UDP layer type found in packet")
- } else {
- u = l
- }
- got := u.Checksum
- want := ipv6UDPChecksumJumbogram
- if got != want {
- t.Errorf("Bad checksum:\ngot:\n%#v\n\nwant:\n%#v\n\n", got, want)
- }
-}