]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-macsec.c
CHANGES: Move change(s) backported to 4.99
[tcpdump] / print-macsec.c
index 38ae26edd5820bb3b2fe34939145a0b71c0199fb..5fca392279451252eee6f2d43a73d672a03466cc 100644 (file)
 
 /* \summary: MACsec printer */
 
-#ifdef HAVE_CONFIG_H
 #include <config.h>
-#endif
 
-#include <netdissect-stdinc.h>
+#include "netdissect-stdinc.h"
 
 #include "netdissect.h"
 #include "addrtoname.h"
-#include "ethertype.h"
 #include "extract.h"
 
 #define MACSEC_DEFAULT_ICV_LEN 16
@@ -219,6 +216,13 @@ macsec_print(netdissect_options *ndo, const u_char **bp,
        }
        *lengthp -= MACSEC_DEFAULT_ICV_LEN;
        *caplenp -= MACSEC_DEFAULT_ICV_LEN;
+       /*
+        * Update the snapend thus the ICV field is not in the payload for
+        * the caller.
+        * The ICV (Integrity Check Value) is at the end of the frame, after
+        * the secure data.
+        */
+       ndo->ndo_snapend -= MACSEC_DEFAULT_ICV_LEN;
 
        /*
         * If the SL field is non-zero, then it's the length of the