summaryrefslogtreecommitdiff
path: root/include/private/stream_internal.h
diff options
context:
space:
mode:
author杨威 <[email protected]>2023-01-12 19:55:12 +0800
committer杨威 <[email protected]>2023-01-16 14:42:18 +0800
commitab46cbfc9b24e11f119f56f2dda7adf9d638b205 (patch)
tree7cbd4ca88bd907849e1af67717d14dec7e859b3e /include/private/stream_internal.h
parent273cf3012e7f026da5661c0b934dfc11d06135fa (diff)
✨ feat(retain packet): 支持retain packet
Diffstat (limited to 'include/private/stream_internal.h')
-rw-r--r--include/private/stream_internal.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/private/stream_internal.h b/include/private/stream_internal.h
index ec94832..e464d1a 100644
--- a/include/private/stream_internal.h
+++ b/include/private/stream_internal.h
@@ -64,6 +64,7 @@
extern "C" {
#endif
+struct detain_pkt;
/* ԭʼ���ṹ */
typedef struct {
unsigned int magic_num;
@@ -84,8 +85,24 @@ typedef struct {
char diagnose_error_to_dump; /* ��ij�ִ������ݰ�, ����pkt_dump�洢��udp socket���͸�tcpdump_mesa */
unsigned char overlay_layer_bytes; /* ������װ�㳤��, ����vxlanģʽ����50�ֽ� */
char drop_current_pkt_flag; /* �������MSO_DROP_CURRENT_PKT���ö�����ǰ��, ÿ�δ�����Ҫ��� */
+ struct detain_pkt *d_pkt;
}raw_pkt_t;
+enum retained_rawpkt_mark
+{
+ RETAIN_RAWPKT = 0,
+ FORWARD_RAWPKT = 1,
+ FREE_RAWPKT = 2,
+};
+
+struct detain_pkt
+{
+ const raw_pkt_t *original;
+ raw_pkt_t replica;
+ enum retained_rawpkt_mark mark;
+ int tid;
+};
+
struct buf_unorder
{