| 1234567891011121314151617 |
- package wire
- // TunPacket is the unit a read from a tun device returns.
- // On supported platforms, it may be a superpacket, but a single TunPacket will never have more than one destination.
- type TunPacket struct {
- // Bytes contains the actual packet
- Bytes []byte
- // Meta contains other information to help process the packet correctly, such as offsets for segmentation offloads
- // Fields in Meta should be as portable/platform-agnostic as possible.
- Meta struct{}
- }
- // PerSegment invokes fn once per segment of pkt.
- // This is a stub implementation that does not actually support segmentation
- func (t *TunPacket) PerSegment(fn func(seg []byte) error) error {
- return fn(t.Bytes)
- }
|