func (p RawPacket) SName() []byte {
	return p[44:108]
}
SName returns the `sname` portion of the packet.
This field can be used as extra space to extend the DHCP options, if
necessary. To enable this, the "Option Overload" option needs to be set in
the regular options. Also see RFC2132, section 9.3.
package dhcpv4
import (
	"errors"
	"net"
)
var (
	ErrShortPacket   = errors.New("dhcpv4: short packet")
	ErrInvalidPacket = errors.New("dhcpv4: invalid packet")
)
type OpCode byte
const (
	BootRequest = OpCode(1)
	BootReply   = OpCode(2)
)
type PacketGetter interface {
	GetHType() uint8
	GetHLen() uint8
	GetXID() []byte
	GetFlags() []byte
	GetCHAddr() []byte
	GetCIAddr() net.IP
	GetYIAddr() net.IP
	GetSIAddr() net.IP
	GetGIAddr() net.IP
}
type PacketSetter interface {
	SetCIAddr(ip net.IP)
	SetYIAddr(ip net.IP)
	SetSIAddr(ip net.IP)
	SetGIAddr(ip net.IP)
}
type RawPacket []byte
func (p RawPacket) Op() []byte     { return p[0:1] }
func (p RawPacket) HType() []byte  { return p[1:2] }
func (p RawPacket) HLen() []byte   { return p[2:3] }
func (p RawPacket) Hops() []byte   { return p[3:4] }
func (p RawPacket) XID() []byte    { return p[4:8] }
func (p RawPacket) Secs() []byte   { return p[8:10] }
func (p RawPacket) Flags() []byte  { return p[10:12] }
func (p RawPacket) CIAddr() []byte { return p[12:16] }
func (p RawPacket) YIAddr() []byte { return p[16:20] }
func (p RawPacket) SIAddr() []byte { return p[20:24] }
func (p RawPacket) GIAddr() []byte { return p[24:28] }
func (p RawPacket) CHAddr() []byte { return p[28:44] }