/
pkt.sandesh
251 lines (223 loc) · 5.52 KB
/
pkt.sandesh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
/*
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
*/
include "vnsw/agent/oper/agent.sandesh"
struct MirrorInfo {
1: optional string mirror_destination;
2: optional u16 mirror_port;
3: optional string mirror_vrf;
4: optional string encap;
5: optional string analyzer;
}
struct FlowAclUuid {
1: string uuid (link="AclReq");
}
struct FlowAclInfo {
1: i32 action;
2: list<FlowAclUuid> acl;
3: list<agent.ActionStr> action_str;
}
struct SandeshFlowData {
1: i32 vrf;
2: string sip;
3: string dip;
4: i32 src_port;
5: i32 dst_port;
6: byte protocol;
7: i16 dest_vrf;
8: i32 action;
9: list<MirrorInfo> mirror_l;
11: optional string direction;
12: i64 stats_bytes;
13: i64 stats_packets;
14: string uuid;
15: string nat;
16: i32 flow_handle;
17: i32 interface_idx;
18: string setup_time;
19: i32 refcount;
20: string implicit_deny;
21: optional string short_flow;
22: optional u64 setup_time_utc;
23: optional u16 ecmp_index;
24: optional string local_flow;
25: optional string egress_uuid;
26: optional string src_vn;
27: optional string dst_vn;
28: string reverse_flow;
29: FlowAclInfo policy;
30: FlowAclInfo out_policy;
31: FlowAclInfo sg;
32: FlowAclInfo out_sg;
33: FlowAclInfo mirror;
34: FlowAclInfo out_mirror;
35: list<agent.ActionStr> action_str;
36: list<agent.ActionStr> sg_action_summary;
37: FlowAclInfo reverse_sg;
38: FlowAclInfo reverse_out_sg;
39: i32 nh;
40: FlowAclInfo vrf_assign_acl;
41: string fip;
42: u32 fip_vm_interface_idx;
43: optional string sg_rule_uuid;
44: optional string nw_ace_uuid;
45: i32 rpf_nh;
46: optional string drop_reason;
47: optional string peer_vrouter;
48: optional string tunnel_type;
49: optional u16 underlay_source_port;
50: bool enable_rpf;
}
struct LinkLocalFlowInfo {
1: u32 fd;
2: u32 flow_index;
3: string source_addr;
4: string dest_addr;
5: u32 protocol;
6: u16 source_port;
7: u16 dest_port;
8: string timestamp;
}
request sandesh FetchFlowRecord {
1: i32 nh;
2: string sip;
3: string dip;
4: i32 src_port;
5: i32 dst_port;
6: byte protocol;
}
response sandesh FlowRecordResp {
1: SandeshFlowData record;
}
response sandesh FlowErrorResp {
1: string resp = "No Flow Record for specified key ";
}
request sandesh NextFlowRecordsSet {
1: string flow_key;
}
request sandesh FetchAllFlowRecords {
}
request sandesh DeleteAllFlowRecords {
}
request sandesh FetchLinkLocalFlowInfo {
}
response sandesh FlowRecordsResp {
1: list<SandeshFlowData> flow_list;
2: string flow_key (link="NextFlowRecordsSet");
}
response sandesh LinkLocalFlowInfoResp {
1: list<LinkLocalFlowInfo> linklocal_flow_list;
}
trace sandesh TapErr {
1: string err;
}
trace sandesh PktErr {
1: string err;
}
struct FlowInfo {
1: u32 flow_index;
2: ipv4 source_ip;
3: u16 source_port;
4: ipv4 destination_ip;
5: u16 destination_port;
6: u16 protocol;
7: u32 vrf;
8: optional bool deny;
9: optional bool allow;
10: optional bool mirror;
11: optional bool nat;
12: optional ipv4 nat_source_ip;
13: optional ipv4 nat_destination_ip;
14: optional u16 nat_source_port;
15: optional u16 nat_destination_port;
16: optional u16 nat_protocol;
17: optional u32 nat_vrf;
18: optional u16 nat_mirror_vrf;
19: list<MirrorInfo> mirror_l;
20: optional u16 mirror_vrf;
21: optional u32 reverse_index;
22: bool implicit_deny;
23: bool short_flow;
24: optional u16 ecmp_index;
25: optional bool trap;
26: optional string source_vn;
27: optional string dest_vn;
28: optional list<u32> source_sg_id_l;
29: optional list<u32> dest_sg_id_l;
30: u16 nh_id;
31: optional string vrf_assign;
32: bool l3_flow;
33: string smac;
34: string dmac;
35: optional u64 sip_upper;
36: optional u64 sip_lower;
37: optional u64 dip_upper;
38: optional u64 dip_lower;
}
traceobject sandesh FlowTrace {
1: string operation;
2: FlowInfo info;
}
trace sandesh FlowDetailErr {
1: u32 flow_index;
2: u16 ifindex;
3: u16 vrf;
4: u32 sip;
5: u32 dip;
6: string error;
7: bool l3_flow;
8: u64 sip_upper;
9: u64 sip_lower;
10: u64 dip_upper;
11: u64 dip_lower;
}
trace sandesh FlowErr {
1: u32 flow_index;
2: string error;
}
trace sandesh FlowModuleInfo {
1: string info;
}
struct FlowHandlerFlow {
1: optional u32 vrf;
2: optional string src_ip;
3: optional string dst_ip;
4: optional u16 src_port;
5: optional u16 dst_port;
6: optional u16 proto;
7: optional string src_vn;
8: optional u32 src_vrf;
9: optional string dst_vn;
10: optional u32 dst_vrf;
11: optional list <i32> src_sg_id_l;
12: optional list <i32> dst_sg_id_l;
13: optional i32 num_acls;
14: optional i32 num_sgs;
15: optional bool ingress;
16: optional bool implicit_deny;
17: optional bool short_flow;
}
traceobject sandesh PktFlowTrace {
1: string operation;
2: FlowHandlerFlow finfo;
}
trace sandesh PktFlowErr {
1: string error;
}
traceobject sandesh FlowRouteUpdate {
1: string vrf;
2: string ip;
3: u16 plen;
4: string vn;
5: bool deleted;
6: bool marked_delete;
7: u32 num_sg;
8: list <i32> sg_list;
}
response sandesh FlowAgeTimeResp {
1: u32 old_age_time;
2: u32 new_age_time;
}
request sandesh FlowAgeTimeReq {
1: u32 new_age_time;
}