/
vr.sandesh
262 lines (247 loc) · 7.99 KB
/
vr.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
252
253
254
255
256
257
258
259
260
261
262
/*
* vr.sandesh --
*
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
*/
enum sandesh_op {
ADD,
GET,
DELETE,
DUMP,
RESPONSE,
RESET,
}
enum flow_op {
FLOW_SET,
FLOW_LIST,
FLOW_TABLE_GET,
}
struct sandesh_hdr {
1: sandesh_op h_op;
2: i32 h_id;
}
buffer sandesh vr_nexthop_req {
1: sandesh_op h_op;
2: byte nhr_type;
3: byte nhr_family;
4: i32 nhr_id;
5: i32 nhr_rid;
6: i32 nhr_encap_oif_id;
7: i32 nhr_encap_len;
8: i32 nhr_encap_family;
9: i32 nhr_vrf;
10: i32 nhr_tun_sip;
11: i32 nhr_tun_dip;
12: i16 nhr_tun_sport;
13: i16 nhr_tun_dport;
14: i32 nhr_ref_cnt;
15: i32 nhr_marker;
16: i16 nhr_flags;
17: list<byte> nhr_encap;
18: list<i32> nhr_nh_list;
19: i32 nhr_label;
20: list<i32> nhr_label_list;
}
buffer sandesh vr_interface_req {
1: sandesh_op h_op;
2: i32 vifr_type;
3: i32 vifr_flags;
4: i32 vifr_vrf;
5: i32 vifr_idx;
6: i32 vifr_rid;
7: i32 vifr_os_idx;
8: i32 vifr_mtu;
9: string vifr_name;
10: i64 vifr_ibytes;
11: i64 vifr_ipackets;
12: i64 vifr_ierrors;
13: i64 vifr_obytes;
14: i64 vifr_opackets;
15: i64 vifr_oerrors;
16: i32 vifr_ref_cnt;
17: i32 vifr_marker;
18: list<byte> vifr_mac;
19: i32 vifr_ip;
20: i32 vifr_context;
21: i16 vifr_mir_id;
22: i32 vifr_speed;
23: i32 vifr_duplex;
24: i16 vifr_vlan_id;
25: i32 vifr_parent_vif_idx;
26: i16 vifr_nh_id;
27: i32 vifr_cross_connect_idx;
28: list<byte> vifr_src_mac;
29: i32 vifr_bridge_idx;
30: i16 vifr_ovlan_id;
31: byte vifr_transport;
}
buffer sandesh vr_vxlan_req {
1: sandesh_op h_op;
2: i16 vxlanr_rid;
3: i32 vxlanr_vnid;
4: i32 vxlanr_nhid;
}
buffer sandesh vr_route_req {
1: sandesh_op h_op;
2: i32 rtr_vrf_id;
3: i32 rtr_family;
4: list<byte> rtr_prefix;
5: i32 rtr_prefix_len;
6: i16 rtr_rid;
7: i16 rtr_label_flags;
8: i32 rtr_label;
9: i32 rtr_nh_id;
10: list<byte> rtr_marker;
11: i32 rtr_marker_plen;
12: list<byte> rtr_mac;
13: i32 rtr_replace_plen;
14: i32 rtr_index;
}
buffer sandesh vr_mpls_req {
1: sandesh_op h_op;
2: i16 mr_label;
3: i16 mr_rid;
4: i32 mr_nhid;
5: i32 mr_marker;
}
buffer sandesh vr_mirror_req {
1: sandesh_op h_op;
2: i16 mirr_index;
3: i16 mirr_rid;
4: i32 mirr_nhid;
5: i32 mirr_users;
6: i32 mirr_flags;
7: i32 mirr_marker;
}
buffer sandesh vr_flow_req {
1: flow_op fr_op;
2: i16 fr_rid;
3: i32 fr_index;
4: i16 fr_action;
5: i16 fr_flags;
6: i32 fr_ftable_size;
7: i16 fr_ftable_dev;
8: i32 fr_rindex;
9: i32 fr_flow_sip;
10: i32 fr_flow_dip;
11: i16 fr_flow_sport;
12: i16 fr_flow_dport;
13: byte fr_flow_proto;
14: i16 fr_flow_vrf;
15: i16 fr_flow_dvrf;
16: i16 fr_mir_id;
17: i16 fr_sec_mir_id;
18: i32 fr_mir_sip;
19: i16 fr_mir_sport;
20: list<byte> fr_pcap_meta_data;
21: i16 fr_mir_vrf;
22: i16 fr_ecmp_nh_index;
23: i32 fr_src_nh_index;
24: i16 fr_flow_nh_id;
25: i16 fr_drop_reason;
26: string fr_file_path;
27: i64 fr_processed;
28: i64 fr_created;
29: i64 fr_added;
30: i32 fr_cpus;
31: i32 fr_hold_oflows;
32: list<i32> fr_hold_stat;
}
buffer sandesh vr_vrf_assign_req {
1: sandesh_op h_op;
2: i16 var_rid;
3: i16 var_vif_index;
4: i16 var_vif_vrf;
5: i16 var_vlan_id;
6: i16 var_marker;
7: i16 var_nh_id;
}
buffer sandesh vr_vrf_stats_req {
1: sandesh_op h_op;
2: i16 vsr_rid;
3: i16 vsr_family;
4: i16 vsr_type;
5: i16 vsr_vrf;
6: i64 vsr_discards;
7: i64 vsr_resolves;
8: i64 vsr_receives;
9: i64 vsr_ecmp_composites;
10: i64 vsr_l2_mcast_composites;
11: i64 vsr_fabric_composites;
12: i64 vsr_udp_tunnels;
13: i64 vsr_udp_mpls_tunnels;
14: i64 vsr_gre_mpls_tunnels;
15: i64 vsr_l2_encaps;
16: i64 vsr_encaps;
17: i16 vsr_marker;
18: i64 vsr_gros;
19: i64 vsr_diags;
20: i64 vsr_encap_composites;
21: i64 vsr_evpn_composites;
22: i64 vsr_vrf_translates;
23: i64 vsr_vxlan_tunnels;
24: i64 vsr_arp_virtual_proxy;
25: i64 vsr_arp_virtual_stitch;
26: i64 vsr_arp_virtual_flood;
27: i64 vsr_arp_physical_stitch;
28: i64 vsr_arp_tor_proxy;
29: i64 vsr_arp_physical_flood;
30: i64 vsr_l2_receives;
}
buffer sandesh vr_response {
1: sandesh_op h_op;
2: i32 resp_code;
}
buffer sandesh vrouter_ops {
1: sandesh_op h_op;
}
buffer sandesh vr_drop_stats_req {
1: sandesh_op h_op;
2: i16 vds_rid;
3: i64 vds_discard;
4: i64 vds_pull;
5: i64 vds_invalid_if;
6: i64 vds_arp_no_where_to_go;
7: i64 vds_garp_from_vm;
8: i64 vds_invalid_arp;
9: i64 vds_trap_no_if;
10: i64 vds_nowhere_to_go;
11: i64 vds_flow_queue_limit_exceeded;
12: i64 vds_flow_no_memory;
13: i64 vds_flow_invalid_protocol;
14: i64 vds_flow_nat_no_rflow;
15: i64 vds_flow_action_drop;
16: i64 vds_flow_action_invalid;
17: i64 vds_flow_unusable;
18: i64 vds_flow_table_full;
19: i64 vds_interface_tx_discard;
20: i64 vds_interface_drop;
21: i64 vds_duplicated;
22: i64 vds_push;
23: i64 vds_ttl_exceeded;
24: i64 vds_invalid_nh;
25: i64 vds_invalid_label;
26: i64 vds_invalid_protocol;
27: i64 vds_interface_rx_discard;
28: i64 vds_invalid_mcast_source;
29: i64 vds_head_alloc_fail;
30: i64 vds_head_space_reserve_fail;
31: i64 vds_pcow_fail;
32: i64 vds_flood;
33: i64 vds_mcast_clone_fail;
34: i64 vds_composite_invalid_interface;
35: i64 vds_rewrite_fail;
36: i64 vds_misc;
37: i64 vds_invalid_packet;
38: i64 vds_cksum_err;
39: i64 vds_clone_fail;
40: i64 vds_no_fmd;
41: i64 vds_cloned_original;
42: i64 vds_invalid_vnid;
43: i64 vds_frag_err;
44: i64 vds_invalid_source;
45: i64 vds_mcast_df_bit;
46: i64 vds_arp_no_route;
47: i64 vds_l2_no_route;
48: i64 vds_arp_reply_no_route;
}