func()

in internal/ip/ip.go [148:163]


func (c *Conn) NextPacket() (gopacket.Packet, error) {
	buf := make([]byte, d.MaxPacketSizeBytes)
	if _, _, err := c.recvSrc.Recvfrom(buf); err != nil {
		return nil, err
	}

	switch c.AF {
	case d.AfInet:
		return gopacket.NewPacket(buf, layers.LayerTypeIPv4, gopacket.DecodeOptions{Lazy: true}), nil
	case d.AfInet6:
		return gopacket.NewPacket(buf, layers.LayerTypeIPv6, gopacket.DecodeOptions{Lazy: true}), nil
	}

	return nil, errors.New("no valid decoder available for packet")

}