43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
|
|
#ifndef _MESA_PKT_DUMP_H_
|
|||
|
|
#define _MESA_PKT_DUMP_H_ 1
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>DPDK-3.0, PFRINGģʽ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ, ͨ<EFBFBD><EFBFBD>ƽ̨ʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#define PKT_DUMP_HDR_MAGIC (0x44554D50) /* 'MESA' */
|
|||
|
|
|
|||
|
|
enum pkt_dump_opt_t{
|
|||
|
|
PKT_DUMP_OPT_RCV_PORT,
|
|||
|
|
PKT_DUMP_OPT_BPF_FILTER,
|
|||
|
|
PKT_DUMP_OPT_DATA_OFFSET,
|
|||
|
|
PKT_DUMP_OPT_THREAD_INDEX,
|
|||
|
|
PKT_DUMP_OPT_ACK, /* sapp<70><70><EFBFBD>ظ<EFBFBD>tcpdump_mesa<73><61>ack<63><6B> */
|
|||
|
|
PKT_DUMP_OPT_PERCEPTIVE, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ, <20><><EFBFBD>Է<EFBFBD><D4B7>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>ARM, PowerPC, MIPS<50><53><EFBFBD><EFBFBD>ֲ */
|
|||
|
|
struct pkt_dump_opt{
|
|||
|
|
unsigned short opt_type;
|
|||
|
|
unsigned short opt_len;
|
|||
|
|
/* actual opt value */
|
|||
|
|
}__attribute__((packed, aligned(1)));
|
|||
|
|
|
|||
|
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>ARM, PowerPC, MIPS<50><53><EFBFBD><EFBFBD>ֲ */
|
|||
|
|
struct pkt_dump_handshake{
|
|||
|
|
unsigned int magic; /* <20>̶<EFBFBD>Ϊ0x44554D50, 'DUMP' */
|
|||
|
|
unsigned int version; /* <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>˫<EFBFBD><CBAB><EFBFBD>İ汾<C4B0><E6B1BE>, һ<><D2BB>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>20170106<30><36> */
|
|||
|
|
unsigned int opt_num; /* <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>籾<EFBFBD>˽<EFBFBD><CBBD>ն˿ں<CBBF>, BPF<50><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>offsetֵ<74>ȵ<EFBFBD> */
|
|||
|
|
}__attribute__((packed, aligned(1)));
|
|||
|
|
|
|||
|
|
|
|||
|
|
struct perceptive_info{
|
|||
|
|
unsigned char thread_id;
|
|||
|
|
unsigned char pad;
|
|||
|
|
unsigned int pkt_seq; /* <20><>0<EFBFBD><30>ʼ<EFBFBD>ۼ<EFBFBD>, <20><><EFBFBD><EFBFBD>seq<65>пն<D0BF>, ˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>˶<EFBFBD><CBB6>ٰ<EFBFBD> */
|
|||
|
|
}__attribute__((packed, aligned(1)));
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|