summaryrefslogtreecommitdiff
path: root/include/private
diff options
context:
space:
mode:
Diffstat (limited to 'include/private')
-rw-r--r--include/private/duplicate_pkt_distinguish.h8
-rw-r--r--include/private/mesa_net.h7
-rw-r--r--include/private/mesa_pkt_dump.h3
-rw-r--r--include/private/stream_internal.h1
4 files changed, 13 insertions, 6 deletions
diff --git a/include/private/duplicate_pkt_distinguish.h b/include/private/duplicate_pkt_distinguish.h
index d76e23a..1d0f1ee 100644
--- a/include/private/duplicate_pkt_distinguish.h
+++ b/include/private/duplicate_pkt_distinguish.h
@@ -4,6 +4,7 @@
#include "mesa_net.h"
#include "stream_internal.h"
+#define SAPP_DUP_FIRST_PKT_NUM (3) /* 通过前N个包识别是否有重复流量 */
/* 网络序, network order */
@@ -26,7 +27,7 @@ struct __sapp_dup_pkt_key_v4{
unsigned int tcp_ack;
unsigned short sport;
unsigned short dport;
- unsigned short ip_id; /* TCP层SYN重传时, ipid是不一样的, 其实不能算为重复包 */
+ unsigned short ip_id; /* TCP层SYN重传时, 或者应用层重传数据, ipid是不一样的, 其实不能算为重复包, 所以ipid也作为Key */
unsigned short checksum; /* tcp or udp */
}__attribute__((packed, aligned(1)));
@@ -46,7 +47,10 @@ typedef struct __sapp_dup_pkt_key_v6 sapp_dup_pkt_key_v6_t;
int sapp_dup_pkt_init(void);
-void sapp_dup_pkt_mark_tcp(int tid, const struct streaminfo *pstream, const void *ip_hdr, const struct mesa_tcp_hdr *tcp_h);
+void sapp_dup_pkt_mark_tcp(int tid, unsigned char addr_type, const void *ip_hdr, const struct mesa_tcp_hdr *tcp_h);
+void sapp_dup_pkt_mark_udp(int tid, unsigned char addrtype, const void *ip_hdr, const struct mesa_udp_hdr *udp_h);
+void sendpkt_dup_pkt_mark_stream(const struct streaminfo *top_stream, const char *ip_hdr);
+
int sapp_dup_pkt_identify_tcp(int tid, struct streaminfo_private *pstream_pr, int tot_pkt,
const void *ip_hdr, const struct mesa_tcp_hdr *tcp_h);
diff --git a/include/private/mesa_net.h b/include/private/mesa_net.h
index e61b3a3..aab3c0b 100644
--- a/include/private/mesa_net.h
+++ b/include/private/mesa_net.h
@@ -513,9 +513,10 @@ struct mesa_vlan_hdr{
};
struct mesa_vlan_detail_hdr{
- unsigned int priority:3;
- unsigned int del_flag:1;
- unsigned int vlan_id:12;
+ unsigned char vlan_id_high:4;
+ unsigned char del_flag:1;
+ unsigned char priority:3;
+ unsigned char vlan_id_low;
unsigned short type;
};
diff --git a/include/private/mesa_pkt_dump.h b/include/private/mesa_pkt_dump.h
index 3992c5b..7a87fcc 100644
--- a/include/private/mesa_pkt_dump.h
+++ b/include/private/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/include/private/stream_internal.h b/include/private/stream_internal.h
index 84c28f7..7b4315d 100644
--- a/include/private/stream_internal.h
+++ b/include/private/stream_internal.h
@@ -389,6 +389,7 @@ int sapp_identify_broad_multicast_init(void);
int plugin_manage_init(void);
void *plugin_get_plug_entry(const char *plug_name, const char *plug_entry_type);
+int libsapp_setup_env(int argc, char *argv[]);
#ifdef __cplusplus
}