@@ -239,10 +239,7 @@ typedef struct EXflowMisc_s {
239
239
uint8_t flowEndReason ;
240
240
#define OFFflowEndReason offsetof(EXflowMisc_t, flowEndReason)
241
241
#define SIZEflowEndReason MemberSize(EXflowMisc_t, flowEndReason)
242
- uint8_t revTcpFlags ;
243
- uint8_t fragmentFlags ;
244
- #define OFFfragmentFlags offsetof(EXflowMisc_t, fragmentFlags)
245
- #define SIZEfragmentFlags MemberSize(EXflowMisc_t, fragmentFlags)
242
+ uint16_t align ;
246
243
} EXflowMisc_t ;
247
244
#define EXflowMiscSize (sizeof(EXflowMisc_t) + sizeof(elementHeader_t))
248
245
@@ -686,8 +683,22 @@ typedef struct EXnokiaNatString_s {
686
683
} EXnokiaNatString_t ;
687
684
#define EXnokiaNatStringSize (sizeof(EXnokiaNatString_t) + sizeof(elementHeader_t))
688
685
686
+ #define EXipInfoID 42
687
+ typedef struct EXipInfo_s {
688
+ uint8_t ttl ;
689
+ #define OFFipTTL offsetof(EXipInfo_t, ttl)
690
+ #define SIZEipTTL MemberSize(EXipInfo_t, ttl)
691
+ #define flagMF 0x20
692
+ #define flagDF 0x40
693
+ uint8_t fragmentFlags ;
694
+ #define OFFfragmentFlags offsetof(EXipInfo_t, fragmentFlags)
695
+ #define SIZEfragmentFlags MemberSize(EXipInfo_t, fragmentFlags)
696
+ uint16_t align ; // unused for nfpcapd
697
+ } EXipInfo_t ;
698
+ #define EXipInfoSize (sizeof(EXipInfo_t) + sizeof(elementHeader_t))
699
+
689
700
// max possible elements
690
- #define MAXEXTENSIONS 42
701
+ #define MAXEXTENSIONS 43
691
702
692
703
// push a fixed length extension to the v3 record
693
704
// h v3 record header
@@ -747,16 +758,17 @@ static const struct extensionTable_s {
747
758
uint32_t id ; // id number
748
759
uint32_t size ; // number of bytes incl. header, 0xFFFF for dyn length
749
760
char * name ; // name of extension
750
- } extensionTable [] = {
751
- {0 , 0 , "EXnull" }, EXTENSION (EXgenericFlow ), EXTENSION (EXipv4Flow ), EXTENSION (EXipv6Flow ), EXTENSION (EXflowMisc ),
752
- EXTENSION (EXcntFlow ), EXTENSION (EXvLan ), EXTENSION (EXasRouting ), EXTENSION (EXbgpNextHopV4 ), EXTENSION (EXbgpNextHopV6 ),
753
- EXTENSION (EXipNextHopV4 ), EXTENSION (EXipNextHopV6 ), EXTENSION (EXipReceivedV4 ), EXTENSION (EXipReceivedV6 ), EXTENSION (EXmplsLabel ),
754
- EXTENSION (EXmacAddr ), EXTENSION (EXasAdjacent ), EXTENSION (EXlatency ), EXTENSION (EXsamplerInfo ), EXTENSION (EXnselCommon ),
755
- EXTENSION (EXnatXlateIPv4 ), EXTENSION (EXnatXlateIPv6 ), EXTENSION (EXnatXlatePort ), EXTENSION (EXnselAcl ), EXTENSION (EXnselUser ),
756
- EXTENSION (EXnatCommon ), EXTENSION (EXnatPortBlock ), EXTENSION (EXnbarApp ), EXTENSION (EXlabel ), EXTENSION (EXinPayload ),
757
- EXTENSION (EXoutPayload ), EXTENSION (EXtunIPv4 ), EXTENSION (EXtunIPv6 ), EXTENSION (EXobservation ), EXTENSION (EXinmonMeta ),
758
- EXTENSION (EXinmonFrame ), EXTENSION (EXvrf ), EXTENSION (EXpfinfo ), EXTENSION (EXlayer2 ), EXTENSION (EXflowId ),
759
- EXTENSION (EXnokiaNat ), EXTENSION (EXnokiaNatString )};
761
+ } extensionTable [] = {{0 , 0 , "EXnull" }, EXTENSION (EXgenericFlow ), EXTENSION (EXipv4Flow ), EXTENSION (EXipv6Flow ),
762
+ EXTENSION (EXflowMisc ), EXTENSION (EXcntFlow ), EXTENSION (EXvLan ), EXTENSION (EXasRouting ),
763
+ EXTENSION (EXbgpNextHopV4 ), EXTENSION (EXbgpNextHopV6 ), EXTENSION (EXipNextHopV4 ), EXTENSION (EXipNextHopV6 ),
764
+ EXTENSION (EXipReceivedV4 ), EXTENSION (EXipReceivedV6 ), EXTENSION (EXmplsLabel ), EXTENSION (EXmacAddr ),
765
+ EXTENSION (EXasAdjacent ), EXTENSION (EXlatency ), EXTENSION (EXsamplerInfo ), EXTENSION (EXnselCommon ),
766
+ EXTENSION (EXnatXlateIPv4 ), EXTENSION (EXnatXlateIPv6 ), EXTENSION (EXnatXlatePort ), EXTENSION (EXnselAcl ),
767
+ EXTENSION (EXnselUser ), EXTENSION (EXnatCommon ), EXTENSION (EXnatPortBlock ), EXTENSION (EXnbarApp ),
768
+ EXTENSION (EXlabel ), EXTENSION (EXinPayload ), EXTENSION (EXoutPayload ), EXTENSION (EXtunIPv4 ),
769
+ EXTENSION (EXtunIPv6 ), EXTENSION (EXobservation ), EXTENSION (EXinmonMeta ), EXTENSION (EXinmonFrame ),
770
+ EXTENSION (EXvrf ), EXTENSION (EXpfinfo ), EXTENSION (EXlayer2 ), EXTENSION (EXflowId ),
771
+ EXTENSION (EXnokiaNat ), EXTENSION (EXnokiaNatString ), EXTENSION (EXipInfo )};
760
772
761
773
typedef struct record_map_s {
762
774
recordHeaderV3_t * recordHeader ;
0 commit comments