@@ -96,12 +96,28 @@ func (n *PktmonDropNotify) decodePktmonDrop(data []byte) error {
9696 if l := len (data ); l < dropNotifyV1Len {
9797 return fmt .Errorf ("%w: expected at least %d but got %d" , errUnexpectedDropNotifyLength , dropNotifyV1Len , l )
9898 }
99-
10099 version := byteorder .Native .Uint16 (data [1 :3 ])
101100
102101 // Check against max version.
103102 if version > DropNotifyVersion1 {
104- return fmt .Errorf ("%w: Unrecognized drop event version %d" , errInvalidDropNotifyVersion , version )
103+ return fmt .Errorf ("%w: Unrecognized pktmon drop event version %d\n Raw data bytes: %v\n Type: %d\n Version (bytes 1-2): %v (uint16: %d)\n SubType: %d\n Source (bytes 4-5): %v (uint16: %d)\n Hash (bytes 6-9): %v (uint32: %d)\n OrigLen (bytes 10-13): %v (uint32: %d)\n CapLen (bytes 14-15): %v (uint16: %d)\n SrcLabel (bytes 16-19): %v (uint32: %d)\n DstLabel (bytes 20-23): %v (uint32: %d)\n DstID (bytes 24-27): %v (uint32: %d)\n Line (bytes 28-29): %v (uint16: %d)\n File (byte 30): %d\n ExtError (byte 31): %d\n Ifindex (bytes 32-35): %v (uint32: %d)" ,
104+ errInvalidDropNotifyVersion , version ,
105+ data ,
106+ data [0 ],
107+ data [1 :3 ], version ,
108+ data [3 ],
109+ data [4 :6 ], byteorder .Native .Uint16 (data [4 :6 ]),
110+ data [6 :10 ], byteorder .Native .Uint32 (data [6 :10 ]),
111+ data [10 :14 ], byteorder .Native .Uint32 (data [10 :14 ]),
112+ data [14 :16 ], byteorder .Native .Uint16 (data [14 :16 ]),
113+ data [16 :20 ], byteorder .Native .Uint32 (data [16 :20 ]),
114+ data [20 :24 ], byteorder .Native .Uint32 (data [20 :24 ]),
115+ data [24 :28 ], byteorder .Native .Uint32 (data [24 :28 ]),
116+ data [28 :30 ], byteorder .Native .Uint16 (data [28 :30 ]),
117+ data [30 ],
118+ int8 (data [31 ]),
119+ data [32 :36 ], byteorder .Native .Uint32 (data [32 :36 ]),
120+ )
105121 }
106122
107123 // Decode logic for version >= v0/v1.
0 commit comments