Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
pcapng-netflix-custom.h
Go to the documentation of this file.
1
10#ifndef WTAP_PCAPNG_NETFLIX_CUSTOM_H
11#define WTAP_PCAPNG_NETFLIX_CUSTOM_H
12
13#ifdef __cplusplus
14extern "C" {
15#endif /* __cplusplus */
16
17/*
18 * Netflix custom blocks and options.
19 *
20 * https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
21 */
22#define PEN_NFLX 10949
23
24typedef struct nflx_custom_opt_s {
25 uint32_t nflx_type2;
26 size_t nflx_custom_data_len;
27 char *nflx_custom_data;
29
30#define NFLX_OPT_TYPE_VERSION 1
31#define NFLX_OPT_TYPE_TCPINFO 2
32#define NFLX_OPT_TYPE_DUMPINFO 4
33#define NFLX_OPT_TYPE_DUMPTIME 5
34#define NFLX_OPT_TYPE_STACKNAME 6
35
36/* Flags used in tlb_eventflags */
37#define NFLX_TLB_FLAG_RXBUF 0x0001 /* Includes receive buffer info */
38#define NFLX_TLB_FLAG_TXBUF 0x0002 /* Includes send buffer info */
39#define NFLX_TLB_FLAG_HDR 0x0004 /* Includes a TCP header */
40#define NFLX_TLB_FLAG_VERBOSE 0x0008 /* Includes function/line numbers */
41#define NFLX_TLB_FLAG_STACKINFO 0x0010 /* Includes stack-specific info */
42
43/* Flags used in tlb_flags */
44#define NFLX_TLB_TF_REQ_SCALE 0x00000020 /* Sent WS option */
45#define NFLX_TLB_TF_RCVD_SCALE 0x00000040 /* Received WS option */
46
47/* Values of tlb_state */
48#define NFLX_TLB_TCPS_ESTABLISHED 4
49#define NFLX_TLB_IS_SYNCHRONIZED(state) (state >= NFLX_TLB_TCPS_ESTABLISHED)
50
52 uint64_t tlb_tv_sec;
53 uint64_t tlb_tv_usec;
54 uint32_t tlb_ticks;
55 uint32_t tlb_sn;
56 uint8_t tlb_stackid;
57 uint8_t tlb_eventid;
58 uint16_t tlb_eventflags;
59 int32_t tlb_errno;
60 uint32_t tlb_rxbuf_tls_sb_acc;
61 uint32_t tlb_rxbuf_tls_sb_ccc;
62 uint32_t tlb_rxbuf_tls_sb_spare;
63 uint32_t tlb_txbuf_tls_sb_acc;
64 uint32_t tlb_txbuf_tls_sb_ccc;
65 uint32_t tlb_txbuf_tls_sb_spare;
66 int32_t tlb_state;
67 uint32_t tlb_starttime;
68 uint32_t tlb_iss;
69 uint32_t tlb_flags;
70 uint32_t tlb_snd_una;
71 uint32_t tlb_snd_max;
72 uint32_t tlb_snd_cwnd;
73 uint32_t tlb_snd_nxt;
74 uint32_t tlb_snd_recover;
75 uint32_t tlb_snd_wnd;
76 uint32_t tlb_snd_ssthresh;
77 uint32_t tlb_srtt;
78 uint32_t tlb_rttvar;
79 uint32_t tlb_rcv_up;
80 uint32_t tlb_rcv_adv;
81 uint32_t tlb_flags2;
82 uint32_t tlb_rcv_nxt;
83 uint32_t tlb_rcv_wnd;
84 uint32_t tlb_dupacks;
85 int32_t tlb_segqlen;
86 int32_t tlb_snd_numholes;
87 uint32_t tlb_flex1;
88 uint32_t tlb_flex2;
89 uint32_t tlb_fbyte_in;
90 uint32_t tlb_fbyte_out;
91 uint8_t tlb_snd_scale:4,
92 tlb_rcv_scale:4;
93 uint8_t _pad[3];
94
95 /* The following fields might become part of a union */
96 uint64_t tlb_stackinfo_bbr_cur_del_rate;
97 uint64_t tlb_stackinfo_bbr_delRate;
98 uint64_t tlb_stackinfo_bbr_rttProp;
99 uint64_t tlb_stackinfo_bbr_bw_inuse;
100 uint32_t tlb_stackinfo_bbr_inflight;
101 uint32_t tlb_stackinfo_bbr_applimited;
102 uint32_t tlb_stackinfo_bbr_delivered;
103 uint32_t tlb_stackinfo_bbr_timeStamp;
104 uint32_t tlb_stackinfo_bbr_epoch;
105 uint32_t tlb_stackinfo_bbr_lt_epoch;
106 uint32_t tlb_stackinfo_bbr_pkts_out;
107 uint32_t tlb_stackinfo_bbr_flex1;
108 uint32_t tlb_stackinfo_bbr_flex2;
109 uint32_t tlb_stackinfo_bbr_flex3;
110 uint32_t tlb_stackinfo_bbr_flex4;
111 uint32_t tlb_stackinfo_bbr_flex5;
112 uint32_t tlb_stackinfo_bbr_flex6;
113 uint32_t tlb_stackinfo_bbr_lost;
114 uint16_t tlb_stackinfo_bbr_pacing_gain;
115 uint16_t tlb_stackinfo_bbr_cwnd_gain;
116 uint16_t tlb_stackinfo_bbr_flex7;
117 uint8_t tlb_stackinfo_bbr_bbr_state;
118 uint8_t tlb_stackinfo_bbr_bbr_substate;
119 uint8_t tlb_stackinfo_bbr_inhpts;
120 uint8_t tlb_stackinfo_bbr_ininput;
121 uint8_t tlb_stackinfo_bbr_use_lt_bw;
122 uint8_t tlb_stackinfo_bbr_flex8;
123 uint32_t tlb_stackinfo_bbr_pkt_epoch;
124
125 uint32_t tlb_len;
126};
127
129 uint32_t tlh_version;
130 uint32_t tlh_type;
131 uint64_t tlh_length;
132 uint16_t tlh_ie_fport;
133 uint16_t tlh_ie_lport;
134 uint32_t tlh_ie_faddr_addr32[4];
135 uint32_t tlh_ie_laddr_addr32[4];
136 uint32_t tlh_ie_zoneid;
137 uint64_t tlh_offset_tv_sec;
138 uint64_t tlh_offset_tv_usec;
139 char tlh_id[64];
140 char tlh_reason[32];
141 char tlh_tag[32];
142 uint8_t tlh_af;
143 uint8_t _pad[7];
144};
145
155WS_DLL_PUBLIC wtap_opttype_return_val
156wtap_block_add_nflx_custom_option(wtap_block_t block, uint32_t nflx_type, const char *nflx_custom_data, size_t nflx_custom_data_len);
157
167WS_DLL_PUBLIC wtap_opttype_return_val
168wtap_block_get_nflx_custom_option(wtap_block_t block, uint32_t nflx_type, char *nflx_custom_data, size_t nflx_custom_data_len);
169
170#ifdef __cplusplus
171}
172#endif /* __cplusplus */
173
174#endif /* WTAP_PCAPNG_NETFLIX_CUSTOM_H */
WS_DLL_PUBLIC wtap_opttype_return_val wtap_block_add_nflx_custom_option(wtap_block_t block, uint32_t nflx_type, const char *nflx_custom_data, size_t nflx_custom_data_len)
Definition wtap_opttypes.c:1545
WS_DLL_PUBLIC wtap_opttype_return_val wtap_block_get_nflx_custom_option(wtap_block_t block, uint32_t nflx_type, char *nflx_custom_data, size_t nflx_custom_data_len)
Definition pcapng-netflix-custom.c:25
Definition pcapng-netflix-custom.h:24
Definition pcapng-netflix-custom.h:128
Definition pcapng-netflix-custom.h:51
Definition wtap_opttypes.h:228