From 4ef2936f429161fc22e69aa190c9da92ce639202 Mon Sep 17 00:00:00 2001 From: lijia Date: Tue, 30 Mar 2021 17:32:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E5=A4=8D=E6=B5=81?= =?UTF-8?q?=E9=87=8F=E8=AF=86=E5=88=AB=E4=B8=8E=E8=BF=87=E6=BB=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mesa_pkt_dump.h | 3 ++- src/tcpdump.c | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mesa_pkt_dump.h b/src/mesa_pkt_dump.h index 28b8d6b..ad16cc8 100644 --- a/src/mesa_pkt_dump.h +++ b/src/mesa_pkt_dump.h @@ -1,7 +1,7 @@ #ifndef _MESA_PKT_DUMP_H_ #define _MESA_PKT_DUMP_H_ 1 -#define MESA_PKT_DUM_H_VER (20201102) +#define MESA_PKT_DUM_H_VER (20210330) /* 用于DPDK-3.0, PFRING模式下, 驱动独占网卡时, 通过平台实时捕包. @@ -16,6 +16,7 @@ enum _pkt_classify{ PKT_CLASSIFY_INJECT = 0x04, /* DMAC ascii码值: J */ PKT_CLASSIFY_DROP = 0x08, /* DMAC ascii码值: D */ PKT_CLASSIFY_ERROR = 0x10, /* DMAC ascii码值: E */ + PKT_CLASSIFY_REPEAT = 0x20, /* DMAC ascii码值: R */ }; enum pkt_dump_opt_t{ diff --git a/src/tcpdump.c b/src/tcpdump.c index 2ead29e..af6c9dc 100644 --- a/src/tcpdump.c +++ b/src/tcpdump.c @@ -1382,6 +1382,9 @@ static short get_pkt_classify_optarg(const char *optarg) pkt_classify_flag |= PKT_CLASSIFY_DROP; else if (strcasecmp(section, "error") == 0) pkt_classify_flag |= PKT_CLASSIFY_ERROR; + else if (strcasecmp(section, "repeat") == 0) + pkt_classify_flag |= PKT_CLASSIFY_REPEAT; + else { return 0; @@ -1931,7 +1934,7 @@ main(int argc, char **argv) pkt_classify_flag = get_pkt_classify_optarg(optarg); if(pkt_classify_flag == 0) { - error("unknown classify `%s', must be in|forward|inject|drop|error", optarg); + error("unknown classify `%s', must be in|forward|inject|drop|error|repeat", optarg); } break; case OPTION_PKT_CLASSIFY_WATERMARK: @@ -3336,7 +3339,7 @@ print_usage(void) (void)fprintf(stderr, "\t\t[ --vlan-as-mac-in-mac ] force VLAN to be analysed as MAC-IN-MAC format.\n"); (void)fprintf(stderr, -"\t\t[ --classify in|forward|inject|drop|error ]. specify packet capture classifier by direction and operation\n"); +"\t\t[ --classify in|forward|inject|drop|error|repeat ]. specify packet capture classifier by direction and operation\n"); (void)fprintf(stderr, "\t\t[ --enable_classify_watermark ]. enable record classify type in src mac address\n"); #endif