Lines Matching refs:sll
61 func (sll *LinuxSLL) LayerType() gopacket.LayerType { return LayerTypeLinuxSLL }
63 func (sll *LinuxSLL) CanDecode() gopacket.LayerClass {
67 func (sll *LinuxSLL) LinkFlow() gopacket.Flow {
68 return gopacket.NewFlow(EndpointMAC, sll.Addr, nil)
71 func (sll *LinuxSLL) NextLayerType() gopacket.LayerType {
72 return sll.EthernetType.LayerType()
75 func (sll *LinuxSLL) DecodeFromBytes(data []byte, df gopacket.DecodeFeedback) error {
79 sll.PacketType = LinuxSLLPacketType(binary.BigEndian.Uint16(data[0:2]))
80 sll.AddrType = binary.BigEndian.Uint16(data[2:4])
81 sll.AddrLen = binary.BigEndian.Uint16(data[4:6])
83 sll.Addr = net.HardwareAddr(data[6 : sll.AddrLen+6])
84 sll.EthernetType = EthernetType(binary.BigEndian.Uint16(data[14:16]))
85 sll.BaseLayer = BaseLayer{data[:16], data[16:]}
91 sll := &LinuxSLL{}
92 if err := sll.DecodeFromBytes(data, p); err != nil {
95 p.AddLayer(sll)
96 p.SetLinkLayer(sll)
97 return p.NextDecoder(sll.EthernetType)