Skip to content

Commit 6449da7

Browse files
authored
Merge pull request #47 from LakshK98/fix-packet-parsing
v4 processing fix
2 parents 5e82c62 + fb454d2 commit 6449da7

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

pkg/plugin/ebpfwindows/parser_windows.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -267,13 +267,16 @@ func (p *Parser) decode(data []byte, decoded *pb.Flow) error {
267267
case 1:
268268
err = p.packet.decLayerL2Dev.DecodeLayers(data[packetOffset:], &p.packet.Layers)
269269
case 3:
270-
if (data[packetOffset] >> 4) == 0x4 {
270+
switch data[packetOffset] >> 4 {
271+
case 0x4:
272+
err = p.packet.decLayerL3Dev.IPv4.DecodeLayers(data[packetOffset:], &p.packet.Layers)
273+
case 0x6:
271274
err = p.packet.decLayerL3Dev.IPv6.DecodeLayers(data[packetOffset:], &p.packet.Layers)
272-
} else {
273-
return fmt.Errorf("decode layers failed for unsupported IP packet type starting with %d", data[packetOffset])
275+
default:
276+
return fmt.Errorf("decode layers failed for unsupported IP packet type starting with %d, data: %v", data[packetOffset], data[packetOffset:])
274277
}
275278
default:
276-
return fmt.Errorf("decode layers failed for unsupported packet type %d", pdn.PktmonHeader.Metadata.PacketType)
279+
return fmt.Errorf("decode layers failed for unsupported packet type %d, data: %v", pdn.PktmonHeader.Metadata.PacketType, data[packetOffset:])
277280
}
278281
} else {
279282
switch {

0 commit comments

Comments
 (0)