MCPcopy Create free account
hub / github.com/Edgio/vflow / decodeEthernetHeader

Method decodeEthernetHeader

packet/packet.go:86–126  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

84}
85
86func (p *Packet) decodeEthernetHeader() error {
87 var (
88 err error
89 )
90
91 err = p.decodeEthernet()
92 if err != nil {
93 return err
94 }
95
96 switch p.L2.EtherType {
97 case EtherTypeIPv4:
98
99 err = p.decodeIPv4Header()
100 if err != nil {
101 return err
102 }
103
104 err = p.decodeNextLayer()
105 if err != nil {
106 return err
107 }
108
109 case EtherTypeIPv6:
110
111 err = p.decodeIPv6Header()
112 if err != nil {
113 return err
114 }
115
116 err = p.decodeNextLayer()
117 if err != nil {
118 return err
119 }
120
121 default:
122 return errUnknownEtherType
123 }
124
125 return nil
126}

Callers 1

DecoderMethod · 0.95

Calls 4

decodeEthernetMethod · 0.95
decodeIPv4HeaderMethod · 0.95
decodeNextLayerMethod · 0.95
decodeIPv6HeaderMethod · 0.95

Tested by

no test coverage detected