| // Copyright 2012 Google, Inc. All rights reserved. |
| // Copyright 2009-2011 Andreas Krennmair. 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 |
| "github.com/google/gopacket" |
| // UDPLite is the layer for UDP-Lite headers (rfc 3828). |
| SrcPort, DstPort UDPLitePort |
| // LayerType returns gopacket.LayerTypeUDPLite |
| func (u *UDPLite) LayerType() gopacket.LayerType { return LayerTypeUDPLite } |
| func decodeUDPLite(data []byte, p gopacket.PacketBuilder) error { |
| SrcPort: UDPLitePort(binary.BigEndian.Uint16(data[0:2])), |
| DstPort: UDPLitePort(binary.BigEndian.Uint16(data[2:4])), |
| ChecksumCoverage: binary.BigEndian.Uint16(data[4:6]), |
| Checksum: binary.BigEndian.Uint16(data[6:8]), |
| BaseLayer: BaseLayer{data[:8], data[8:]}, |
| return p.NextDecoder(gopacket.LayerTypePayload) |
| func (u *UDPLite) TransportFlow() gopacket.Flow { |
| return gopacket.NewFlow(EndpointUDPLitePort, u.sPort, u.dPort) |