@birdcc/lsp 0.0.1-alpha.0 → 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -23
- package/dist/asn-completion.d.ts +21 -0
- package/dist/asn-completion.d.ts.map +1 -0
- package/dist/asn-completion.js +42 -0
- package/dist/asn-completion.js.map +1 -0
- package/dist/asn-context.d.ts +9 -0
- package/dist/asn-context.d.ts.map +1 -0
- package/dist/asn-context.js +203 -0
- package/dist/asn-context.js.map +1 -0
- package/dist/asn-hover.d.ts +11 -0
- package/dist/asn-hover.d.ts.map +1 -0
- package/dist/asn-hover.js +33 -0
- package/dist/asn-hover.js.map +1 -0
- package/dist/asn-inlay-hints.d.ts +13 -0
- package/dist/asn-inlay-hints.d.ts.map +1 -0
- package/dist/asn-inlay-hints.js +47 -0
- package/dist/asn-inlay-hints.js.map +1 -0
- package/dist/diagnostic.d.ts.map +1 -1
- package/dist/diagnostic.js +2 -10
- package/dist/diagnostic.js.map +1 -1
- package/dist/document-symbol.js +1 -1
- package/dist/document-symbol.js.map +1 -1
- package/dist/hover-context.d.ts +31 -0
- package/dist/hover-context.d.ts.map +1 -0
- package/dist/hover-context.js +125 -0
- package/dist/hover-context.js.map +1 -0
- package/dist/hover-docs/00-base.yaml +5 -0
- package/dist/hover-docs/10-global-options.yaml +442 -0
- package/dist/hover-docs/20-filter-language.yaml +209 -0
- package/dist/hover-docs/30-channel-options.yaml +244 -0
- package/dist/hover-docs/40-protocol-common.yaml +59 -0
- package/dist/hover-docs/41-protocol-igp.yaml +305 -0
- package/dist/hover-docs/42-protocol-kernel-static.yaml +220 -0
- package/dist/hover-docs/43-protocol-mpls.yaml +40 -0
- package/dist/hover-docs/44-protocol-extended.yaml +635 -0
- package/dist/hover-docs/50-protocol-bgp.yaml +482 -0
- package/dist/hover-docs/60-protocol-ospf.yaml +527 -0
- package/dist/hover-docs.d.ts +5 -1
- package/dist/hover-docs.d.ts.map +1 -1
- package/dist/hover-docs.js +376 -51
- package/dist/hover-docs.js.map +1 -1
- package/dist/hover-usage/00-base.yaml +2 -0
- package/dist/hover-usage/10-global-usage.yaml +73 -0
- package/dist/hover-usage/20-filter-usage.yaml +41 -0
- package/dist/hover-usage/30-channel-usage.yaml +41 -0
- package/dist/hover-usage/40-protocol-usage.yaml +258 -0
- package/dist/hover-usage/50-bgp-usage.yaml +254 -0
- package/dist/hover-usage/60-ospf-usage.yaml +340 -0
- package/dist/hover.d.ts +10 -0
- package/dist/hover.d.ts.map +1 -1
- package/dist/hover.js +152 -46
- package/dist/hover.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/init/workspace-init.d.ts +28 -0
- package/dist/init/workspace-init.d.ts.map +1 -0
- package/dist/init/workspace-init.js +72 -0
- package/dist/init/workspace-init.js.map +1 -0
- package/dist/lsp-server.d.ts +7 -1
- package/dist/lsp-server.d.ts.map +1 -1
- package/dist/lsp-server.js +277 -65
- package/dist/lsp-server.js.map +1 -1
- package/dist/project-config.d.ts +22 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +307 -0
- package/dist/project-config.js.map +1 -0
- package/dist/shared.d.ts +1 -0
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +4 -24
- package/dist/shared.js.map +1 -1
- package/dist/symbol-utils.d.ts +6 -6
- package/dist/symbol-utils.d.ts.map +1 -1
- package/dist/symbol-utils.js +24 -25
- package/dist/symbol-utils.js.map +1 -1
- package/dist/type-hint-inlay.d.ts +4 -0
- package/dist/type-hint-inlay.d.ts.map +1 -0
- package/dist/type-hint-inlay.js +27 -0
- package/dist/type-hint-inlay.js.map +1 -0
- package/dist/utils.d.ts +65 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +97 -0
- package/dist/utils.js.map +1 -0
- package/package.json +20 -9
- package/.oxfmtrc.json +0 -16
- package/dist/hover-docs.yaml +0 -600
- package/scripts/copy-hover-yaml.mjs +0 -14
- package/src/completion.ts +0 -223
- package/src/definition.ts +0 -50
- package/src/diagnostic.ts +0 -48
- package/src/document-symbol.ts +0 -27
- package/src/hover-docs.ts +0 -223
- package/src/hover-docs.yaml +0 -600
- package/src/hover.ts +0 -122
- package/src/index.ts +0 -8
- package/src/lsp-server.ts +0 -350
- package/src/references.ts +0 -107
- package/src/server.ts +0 -4
- package/src/shared.ts +0 -182
- package/src/symbol-utils.ts +0 -126
- package/src/validation.ts +0 -85
- package/test/hover-docs.test.ts +0 -18
- package/test/lsp.test.ts +0 -304
- package/test/perf-baseline.test.ts +0 -96
- package/test/validation.test.ts +0 -212
- package/tsconfig.json +0 -8
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
entries:
|
|
2
|
+
- keyword: export
|
|
3
|
+
usage: export filter only_bgp;
|
|
4
|
+
- keyword: export block
|
|
5
|
+
usage: export block 16384;
|
|
6
|
+
- keyword: export limit
|
|
7
|
+
usage: export limit 100000 action warn;
|
|
8
|
+
- keyword: import
|
|
9
|
+
usage: import all;
|
|
10
|
+
- keyword: import keep filtered
|
|
11
|
+
usage: import keep filtered on;
|
|
12
|
+
- keyword: import limit
|
|
13
|
+
usage: import limit 100000 action block;
|
|
14
|
+
- keyword: ipv4
|
|
15
|
+
usage: |
|
|
16
|
+
ipv4 {
|
|
17
|
+
import all;
|
|
18
|
+
export none;
|
|
19
|
+
};
|
|
20
|
+
- keyword: ipv6
|
|
21
|
+
usage: |
|
|
22
|
+
ipv6 {
|
|
23
|
+
import all;
|
|
24
|
+
export filter only_v6;
|
|
25
|
+
};
|
|
26
|
+
- keyword: preference
|
|
27
|
+
usage: preference 100;
|
|
28
|
+
- keyword: receive limit
|
|
29
|
+
usage: receive limit 200000 action disable;
|
|
30
|
+
- keyword: rpki reload
|
|
31
|
+
usage: rpki reload on;
|
|
32
|
+
- keyword: table
|
|
33
|
+
path:
|
|
34
|
+
- protocol.bgp.channel
|
|
35
|
+
- protocol.ospf.channel
|
|
36
|
+
- protocol.rip.channel
|
|
37
|
+
- protocol.babel.channel
|
|
38
|
+
- protocol.kernel.channel
|
|
39
|
+
- protocol.static.channel
|
|
40
|
+
- protocol.pipe.channel
|
|
41
|
+
usage: table master4;
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
entries:
|
|
2
|
+
# ── Common protocol options ──────────────────────────────────────
|
|
3
|
+
- keyword: description
|
|
4
|
+
usage: description "core upstream session";
|
|
5
|
+
- keyword: disabled
|
|
6
|
+
usage: disabled on;
|
|
7
|
+
- keyword: restart time limit
|
|
8
|
+
usage: restart time limit 60;
|
|
9
|
+
- keyword: vrf
|
|
10
|
+
usage: vrf "blue";
|
|
11
|
+
# ── Protocol declarations ───────────────────────────────────────
|
|
12
|
+
- keyword: babel
|
|
13
|
+
usage: protocol babel edge_babel {}
|
|
14
|
+
- keyword: bfd
|
|
15
|
+
usage: protocol bfd {}
|
|
16
|
+
- keyword: rip
|
|
17
|
+
usage: protocol rip edge_rip {}
|
|
18
|
+
- keyword: device
|
|
19
|
+
usage: protocol device {}
|
|
20
|
+
- keyword: direct
|
|
21
|
+
usage: protocol direct { interface "eth*"; };
|
|
22
|
+
- keyword: kernel
|
|
23
|
+
usage: protocol kernel { ipv4 { export all; }; };
|
|
24
|
+
- keyword: static
|
|
25
|
+
usage: protocol static { route 203.0.113.0/24 via 192.0.2.1; };
|
|
26
|
+
- keyword: pipe
|
|
27
|
+
usage: protocol pipe { table master4; peer table backup4; };
|
|
28
|
+
- keyword: mpls domain
|
|
29
|
+
usage: mpls domain core_mpls;
|
|
30
|
+
- keyword: label policy
|
|
31
|
+
usage: label policy aggregate;
|
|
32
|
+
- keyword: label range
|
|
33
|
+
usage: label range dynamic;
|
|
34
|
+
- keyword: aggregator
|
|
35
|
+
usage: protocol aggregator sum4 {}
|
|
36
|
+
- keyword: bmp
|
|
37
|
+
usage: protocol bmp monitor { station address 192.0.2.200 port 1790; };
|
|
38
|
+
- keyword: l3vpn
|
|
39
|
+
usage: protocol l3vpn vpn1 { vrf "blue"; };
|
|
40
|
+
- keyword: mrt
|
|
41
|
+
usage: protocol mrt dump1 { table master4; filename "/var/log/bird.mrt"; };
|
|
42
|
+
- keyword: perf
|
|
43
|
+
usage: protocol perf bench {}
|
|
44
|
+
- keyword: radv
|
|
45
|
+
usage: protocol radv ra1 { interface "eth*" { max ra interval 30; }; };
|
|
46
|
+
- keyword: rpki
|
|
47
|
+
usage: protocol rpki rpki1 { remote "192.0.2.50" port 3323; };
|
|
48
|
+
# ── Static route types ──────────────────────────────────────────
|
|
49
|
+
- keyword: route
|
|
50
|
+
usage: route 203.0.113.0/24 via 192.0.2.1;
|
|
51
|
+
- keyword: next hop
|
|
52
|
+
usage: route 203.0.113.0/24 via 192.0.2.1;
|
|
53
|
+
- keyword: blackhole
|
|
54
|
+
usage: route 203.0.113.0/24 blackhole;
|
|
55
|
+
- keyword: unreachable
|
|
56
|
+
usage: route 203.0.113.0/24 unreachable;
|
|
57
|
+
- keyword: prohibit
|
|
58
|
+
usage: route 203.0.113.0/24 prohibit;
|
|
59
|
+
path: protocol.static
|
|
60
|
+
- keyword: password
|
|
61
|
+
usage: password "secret";
|
|
62
|
+
# ── Kernel sub-options ──────────────────────────────────────────
|
|
63
|
+
- keyword: persist
|
|
64
|
+
usage: persist;
|
|
65
|
+
path: protocol.kernel
|
|
66
|
+
- keyword: learn
|
|
67
|
+
usage: learn;
|
|
68
|
+
path: protocol.kernel
|
|
69
|
+
- keyword: kernel table
|
|
70
|
+
usage: kernel table 200;
|
|
71
|
+
path: protocol.kernel
|
|
72
|
+
- keyword: merge paths
|
|
73
|
+
usage: merge paths on;
|
|
74
|
+
path: protocol.kernel
|
|
75
|
+
- keyword: scan time
|
|
76
|
+
usage: scan time 10;
|
|
77
|
+
path: protocol.device
|
|
78
|
+
- keyword: check link
|
|
79
|
+
usage: check link yes;
|
|
80
|
+
path: protocol.direct
|
|
81
|
+
- keyword: peer table
|
|
82
|
+
usage: peer table backup4;
|
|
83
|
+
path: protocol.pipe
|
|
84
|
+
# ── Static sub-options ──────────────────────────────────────────
|
|
85
|
+
- keyword: igp table
|
|
86
|
+
usage: igp table master4;
|
|
87
|
+
path: protocol.static
|
|
88
|
+
- keyword: recursive
|
|
89
|
+
usage: route 203.0.113.0/24 recursive 192.0.2.1;
|
|
90
|
+
path: protocol.static
|
|
91
|
+
# ── BFD sub-options ─────────────────────────────────────────────
|
|
92
|
+
- keyword: interval
|
|
93
|
+
usage: interval 100 ms;
|
|
94
|
+
path: protocol.bfd.interface
|
|
95
|
+
- keyword: min rx interval
|
|
96
|
+
usage: min rx interval 50 ms;
|
|
97
|
+
path: protocol.bfd.interface
|
|
98
|
+
- keyword: min tx interval
|
|
99
|
+
usage: min tx interval 50 ms;
|
|
100
|
+
path: protocol.bfd.interface
|
|
101
|
+
- keyword: idle tx interval
|
|
102
|
+
usage: idle tx interval 500 ms;
|
|
103
|
+
path: protocol.bfd.interface
|
|
104
|
+
- keyword: multiplier
|
|
105
|
+
usage: multiplier 5;
|
|
106
|
+
path: protocol.bfd.interface
|
|
107
|
+
# ── Babel sub-options ───────────────────────────────────────────
|
|
108
|
+
- keyword: randomize router id
|
|
109
|
+
usage: randomize router id yes;
|
|
110
|
+
path: protocol.babel
|
|
111
|
+
- keyword: rxcost
|
|
112
|
+
usage: rxcost 256;
|
|
113
|
+
path: protocol.babel.interface
|
|
114
|
+
- keyword: hello interval
|
|
115
|
+
usage: hello interval 4;
|
|
116
|
+
path: protocol.babel.interface
|
|
117
|
+
- keyword: update interval
|
|
118
|
+
usage: update interval 16;
|
|
119
|
+
path: protocol.babel.interface
|
|
120
|
+
- keyword: rtt cost
|
|
121
|
+
usage: rtt cost 100;
|
|
122
|
+
path: protocol.babel.interface
|
|
123
|
+
- keyword: rtt min
|
|
124
|
+
usage: rtt min 10 ms;
|
|
125
|
+
path: protocol.babel.interface
|
|
126
|
+
- keyword: rtt max
|
|
127
|
+
usage: rtt max 120 ms;
|
|
128
|
+
path: protocol.babel.interface
|
|
129
|
+
# ── RIP sub-options ─────────────────────────────────────────────
|
|
130
|
+
- keyword: infinity
|
|
131
|
+
usage: infinity 16;
|
|
132
|
+
path: protocol.rip
|
|
133
|
+
- keyword: update time
|
|
134
|
+
usage: update time 30;
|
|
135
|
+
path: protocol.rip.interface
|
|
136
|
+
- keyword: timeout time
|
|
137
|
+
usage: timeout time 180;
|
|
138
|
+
path: protocol.rip.interface
|
|
139
|
+
- keyword: garbage time
|
|
140
|
+
usage: garbage time 120;
|
|
141
|
+
path: protocol.rip.interface
|
|
142
|
+
- keyword: split horizon
|
|
143
|
+
usage: split horizon yes;
|
|
144
|
+
path: protocol.rip.interface
|
|
145
|
+
- keyword: poison reverse
|
|
146
|
+
usage: poison reverse yes;
|
|
147
|
+
path: protocol.rip.interface
|
|
148
|
+
- keyword: version
|
|
149
|
+
usage: version 2;
|
|
150
|
+
path: protocol.rip.interface
|
|
151
|
+
# ── RAdv sub-options ────────────────────────────────────────────
|
|
152
|
+
- keyword: trigger
|
|
153
|
+
usage: trigger "eth0";
|
|
154
|
+
path: protocol.radv
|
|
155
|
+
- keyword: propagate routes
|
|
156
|
+
usage: propagate routes yes;
|
|
157
|
+
path: protocol.radv
|
|
158
|
+
- keyword: max ra interval
|
|
159
|
+
usage: max ra interval 600;
|
|
160
|
+
path: protocol.radv.interface
|
|
161
|
+
- keyword: min ra interval
|
|
162
|
+
usage: min ra interval 200;
|
|
163
|
+
path: protocol.radv.interface
|
|
164
|
+
- keyword: managed
|
|
165
|
+
usage: managed yes;
|
|
166
|
+
path: protocol.radv.interface
|
|
167
|
+
- keyword: other config
|
|
168
|
+
usage: other config yes;
|
|
169
|
+
path: protocol.radv.interface
|
|
170
|
+
- keyword: link mtu
|
|
171
|
+
usage: link mtu 1500;
|
|
172
|
+
path: protocol.radv.interface
|
|
173
|
+
- keyword: default lifetime
|
|
174
|
+
usage: default lifetime 1800;
|
|
175
|
+
path: protocol.radv.interface
|
|
176
|
+
- keyword: default preference
|
|
177
|
+
usage: default preference high;
|
|
178
|
+
path: protocol.radv.interface
|
|
179
|
+
- keyword: rdnss
|
|
180
|
+
usage: rdnss 2001:db8::1;
|
|
181
|
+
path: protocol.radv
|
|
182
|
+
- keyword: dnssl
|
|
183
|
+
usage: dnssl "example.com";
|
|
184
|
+
path: protocol.radv
|
|
185
|
+
# ── RPKI sub-options ────────────────────────────────────────────
|
|
186
|
+
- keyword: remote
|
|
187
|
+
usage: remote "192.0.2.50" port 3323;
|
|
188
|
+
path: protocol.rpki
|
|
189
|
+
- keyword: port
|
|
190
|
+
usage: port 3323;
|
|
191
|
+
path: protocol.rpki
|
|
192
|
+
- keyword: refresh
|
|
193
|
+
usage: refresh 3600;
|
|
194
|
+
path: protocol.rpki
|
|
195
|
+
- keyword: retry
|
|
196
|
+
usage: retry 600;
|
|
197
|
+
path: protocol.rpki
|
|
198
|
+
- keyword: expire
|
|
199
|
+
usage: expire 7200;
|
|
200
|
+
path: protocol.rpki
|
|
201
|
+
- keyword: ignore max length
|
|
202
|
+
usage: ignore max length;
|
|
203
|
+
path: protocol.rpki
|
|
204
|
+
- keyword: transport tcp
|
|
205
|
+
usage: transport tcp;
|
|
206
|
+
path: protocol.rpki
|
|
207
|
+
- keyword: transport ssh
|
|
208
|
+
usage: 'transport ssh { bird private key "/etc/bird/ssh_key"; };'
|
|
209
|
+
path: protocol.rpki
|
|
210
|
+
- keyword: bird private key
|
|
211
|
+
usage: bird private key "/etc/bird/ssh_key";
|
|
212
|
+
path: protocol.rpki
|
|
213
|
+
- keyword: remote public key
|
|
214
|
+
usage: remote public key "/etc/bird/rpki_pub.pem";
|
|
215
|
+
path: protocol.rpki
|
|
216
|
+
# ── Extended protocol sub-options ───────────────────────────────
|
|
217
|
+
- keyword: aggregate on
|
|
218
|
+
usage: aggregate on net;
|
|
219
|
+
path: protocol.aggregator
|
|
220
|
+
- keyword: merge by
|
|
221
|
+
usage: merge by bgp_path;
|
|
222
|
+
path: protocol.aggregator
|
|
223
|
+
- keyword: station address
|
|
224
|
+
usage: station address 192.0.2.200;
|
|
225
|
+
path: protocol.bmp
|
|
226
|
+
- keyword: station port
|
|
227
|
+
usage: station port 1790;
|
|
228
|
+
path: protocol.bmp
|
|
229
|
+
- keyword: monitoring rib
|
|
230
|
+
usage: monitoring rib in pre_policy;
|
|
231
|
+
path: protocol.bmp
|
|
232
|
+
- keyword: route distinguisher
|
|
233
|
+
usage: route distinguisher 65000:100;
|
|
234
|
+
path: protocol.l3vpn
|
|
235
|
+
- keyword: route target
|
|
236
|
+
usage: route target 65000:100;
|
|
237
|
+
path: protocol.l3vpn
|
|
238
|
+
- keyword: import target
|
|
239
|
+
usage: import target 65000:100;
|
|
240
|
+
path: protocol.l3vpn
|
|
241
|
+
- keyword: export target
|
|
242
|
+
usage: export target 65000:100;
|
|
243
|
+
path: protocol.l3vpn
|
|
244
|
+
- keyword: filename
|
|
245
|
+
usage: filename "/var/log/bird.mrt";
|
|
246
|
+
path: protocol.mrt
|
|
247
|
+
- keyword: period
|
|
248
|
+
usage: period 3600;
|
|
249
|
+
path: protocol.mrt
|
|
250
|
+
- keyword: always add path
|
|
251
|
+
usage: always add path yes;
|
|
252
|
+
path: protocol.mrt
|
|
253
|
+
- keyword: mode
|
|
254
|
+
usage: mode import;
|
|
255
|
+
path: protocol.perf
|
|
256
|
+
- keyword: repeat
|
|
257
|
+
usage: repeat 1000;
|
|
258
|
+
path: protocol.perf
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
entries:
|
|
2
|
+
# ── Protocol-level ────────────────────────────────────────────────
|
|
3
|
+
- keyword: bgp
|
|
4
|
+
usage: |
|
|
5
|
+
protocol bgp upstream {
|
|
6
|
+
local as 65001;
|
|
7
|
+
neighbor 192.0.2.1 as 64496;
|
|
8
|
+
hold time 90;
|
|
9
|
+
keepalive time 30;
|
|
10
|
+
graceful restart on;
|
|
11
|
+
ipv4 {
|
|
12
|
+
import all;
|
|
13
|
+
export filter only_bgp;
|
|
14
|
+
next hop self;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
- keyword: local as
|
|
18
|
+
path: protocol.bgp
|
|
19
|
+
usage: |
|
|
20
|
+
protocol bgp <name> {
|
|
21
|
+
local as <asn>;
|
|
22
|
+
}
|
|
23
|
+
- keyword: neighbor
|
|
24
|
+
path: protocol.bgp
|
|
25
|
+
usage: |
|
|
26
|
+
protocol bgp <name> {
|
|
27
|
+
neighbor 192.0.2.1 as 64496;
|
|
28
|
+
}
|
|
29
|
+
- keyword: multihop
|
|
30
|
+
path: protocol.bgp
|
|
31
|
+
usage: |
|
|
32
|
+
protocol bgp <name> {
|
|
33
|
+
multihop <hops>;
|
|
34
|
+
}
|
|
35
|
+
- keyword: hold time
|
|
36
|
+
path: protocol.bgp
|
|
37
|
+
usage: |
|
|
38
|
+
protocol bgp <name> {
|
|
39
|
+
hold time <seconds>;
|
|
40
|
+
}
|
|
41
|
+
- keyword: keepalive time
|
|
42
|
+
path: protocol.bgp
|
|
43
|
+
usage: |
|
|
44
|
+
protocol bgp <name> {
|
|
45
|
+
keepalive time <seconds>;
|
|
46
|
+
}
|
|
47
|
+
- keyword: source address
|
|
48
|
+
path: protocol.bgp
|
|
49
|
+
usage: |
|
|
50
|
+
protocol bgp <name> {
|
|
51
|
+
source address <ip>;
|
|
52
|
+
}
|
|
53
|
+
- keyword: ttl security
|
|
54
|
+
path: protocol.bgp
|
|
55
|
+
usage: |
|
|
56
|
+
protocol bgp <name> {
|
|
57
|
+
ttl security <switch>;
|
|
58
|
+
}
|
|
59
|
+
- keyword: password
|
|
60
|
+
path: protocol.bgp
|
|
61
|
+
usage: |
|
|
62
|
+
protocol bgp <name> {
|
|
63
|
+
password "bgp-secret";
|
|
64
|
+
}
|
|
65
|
+
- keyword: passive
|
|
66
|
+
path: protocol.bgp
|
|
67
|
+
usage: |
|
|
68
|
+
protocol bgp <name> {
|
|
69
|
+
passive <switch>;
|
|
70
|
+
}
|
|
71
|
+
- keyword: rr client
|
|
72
|
+
path: protocol.bgp
|
|
73
|
+
usage: |
|
|
74
|
+
protocol bgp <name> {
|
|
75
|
+
rr client;
|
|
76
|
+
}
|
|
77
|
+
- keyword: rr cluster id
|
|
78
|
+
path: protocol.bgp
|
|
79
|
+
usage: |
|
|
80
|
+
protocol bgp <name> {
|
|
81
|
+
rr cluster id <id>;
|
|
82
|
+
}
|
|
83
|
+
- keyword: rs client
|
|
84
|
+
path: protocol.bgp
|
|
85
|
+
usage: |
|
|
86
|
+
protocol bgp <name> {
|
|
87
|
+
rs client;
|
|
88
|
+
}
|
|
89
|
+
- keyword: graceful restart
|
|
90
|
+
path: protocol.bgp
|
|
91
|
+
usage: |
|
|
92
|
+
protocol bgp <name> {
|
|
93
|
+
graceful restart on;
|
|
94
|
+
graceful restart time 120;
|
|
95
|
+
}
|
|
96
|
+
- keyword: graceful restart time
|
|
97
|
+
path: protocol.bgp
|
|
98
|
+
usage: |
|
|
99
|
+
protocol bgp <name> {
|
|
100
|
+
graceful restart time 120;
|
|
101
|
+
}
|
|
102
|
+
- keyword: allow local as
|
|
103
|
+
path: protocol.bgp
|
|
104
|
+
usage: |
|
|
105
|
+
protocol bgp <name> {
|
|
106
|
+
allow local as <number>;
|
|
107
|
+
}
|
|
108
|
+
- keyword: bfd
|
|
109
|
+
path: protocol.bgp
|
|
110
|
+
usage: |
|
|
111
|
+
protocol bgp <name> {
|
|
112
|
+
bfd on;
|
|
113
|
+
}
|
|
114
|
+
- keyword: local role
|
|
115
|
+
path: protocol.bgp
|
|
116
|
+
usage: |
|
|
117
|
+
protocol bgp <name> {
|
|
118
|
+
local role peer;
|
|
119
|
+
}
|
|
120
|
+
- keyword: authentication
|
|
121
|
+
path: protocol.bgp
|
|
122
|
+
usage: |
|
|
123
|
+
protocol bgp <name> {
|
|
124
|
+
authentication md5;
|
|
125
|
+
password "secret";
|
|
126
|
+
}
|
|
127
|
+
- keyword: confederation
|
|
128
|
+
path: protocol.bgp
|
|
129
|
+
usage: |
|
|
130
|
+
protocol bgp <name> {
|
|
131
|
+
confederation <number>;
|
|
132
|
+
confederation member;
|
|
133
|
+
}
|
|
134
|
+
- keyword: confederation member
|
|
135
|
+
path: protocol.bgp
|
|
136
|
+
usage: |
|
|
137
|
+
protocol bgp <name> {
|
|
138
|
+
confederation member;
|
|
139
|
+
}
|
|
140
|
+
- keyword: direct
|
|
141
|
+
path: protocol.bgp
|
|
142
|
+
usage: |
|
|
143
|
+
protocol bgp <name> {
|
|
144
|
+
direct;
|
|
145
|
+
}
|
|
146
|
+
- keyword: path metric
|
|
147
|
+
path: protocol.bgp
|
|
148
|
+
usage: |
|
|
149
|
+
protocol bgp <name> {
|
|
150
|
+
path metric on;
|
|
151
|
+
}
|
|
152
|
+
- keyword: med metric
|
|
153
|
+
path: protocol.bgp
|
|
154
|
+
usage: |
|
|
155
|
+
protocol bgp <name> {
|
|
156
|
+
med metric on;
|
|
157
|
+
}
|
|
158
|
+
- keyword: deterministic med
|
|
159
|
+
path: protocol.bgp
|
|
160
|
+
usage: |
|
|
161
|
+
protocol bgp <name> {
|
|
162
|
+
deterministic med on;
|
|
163
|
+
}
|
|
164
|
+
- keyword: igp metric
|
|
165
|
+
path: protocol.bgp
|
|
166
|
+
usage: |
|
|
167
|
+
protocol bgp <name> {
|
|
168
|
+
igp metric on;
|
|
169
|
+
}
|
|
170
|
+
- keyword: interpret communities
|
|
171
|
+
path: protocol.bgp
|
|
172
|
+
usage: |
|
|
173
|
+
protocol bgp <name> {
|
|
174
|
+
interpret communities on;
|
|
175
|
+
}
|
|
176
|
+
- keyword: default bgp_local_pref
|
|
177
|
+
path: protocol.bgp
|
|
178
|
+
usage: |
|
|
179
|
+
protocol bgp <name> {
|
|
180
|
+
default bgp_local_pref 100;
|
|
181
|
+
}
|
|
182
|
+
- keyword: enable extended messages
|
|
183
|
+
path: protocol.bgp
|
|
184
|
+
usage: |
|
|
185
|
+
protocol bgp <name> {
|
|
186
|
+
enable extended messages on;
|
|
187
|
+
}
|
|
188
|
+
- keyword: connect retry time
|
|
189
|
+
path: protocol.bgp
|
|
190
|
+
usage: |
|
|
191
|
+
protocol bgp <name> {
|
|
192
|
+
connect retry time 120;
|
|
193
|
+
}
|
|
194
|
+
- keyword: error wait time
|
|
195
|
+
path: protocol.bgp
|
|
196
|
+
usage: |
|
|
197
|
+
protocol bgp <name> {
|
|
198
|
+
error wait time 60, 300;
|
|
199
|
+
}
|
|
200
|
+
- keyword: disable after error
|
|
201
|
+
path: protocol.bgp
|
|
202
|
+
usage: |
|
|
203
|
+
protocol bgp <name> {
|
|
204
|
+
disable after error on;
|
|
205
|
+
}
|
|
206
|
+
# ── Channel-level ─────────────────────────────────────────────────
|
|
207
|
+
- keyword: next hop self
|
|
208
|
+
path: protocol.bgp.channel
|
|
209
|
+
usage: |
|
|
210
|
+
protocol bgp <name> {
|
|
211
|
+
ipv4 {
|
|
212
|
+
next hop self;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
- keyword: next hop keep
|
|
216
|
+
path: protocol.bgp.channel
|
|
217
|
+
usage: |
|
|
218
|
+
protocol bgp <name> {
|
|
219
|
+
ipv4 {
|
|
220
|
+
next hop keep on;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
- keyword: add paths
|
|
224
|
+
path: protocol.bgp.channel
|
|
225
|
+
usage: |
|
|
226
|
+
protocol bgp <name> {
|
|
227
|
+
ipv4 {
|
|
228
|
+
add paths tx;
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
- keyword: gateway
|
|
232
|
+
path: protocol.bgp.channel
|
|
233
|
+
usage: |
|
|
234
|
+
protocol bgp <name> {
|
|
235
|
+
ipv4 {
|
|
236
|
+
gateway recursive;
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
- keyword: extended next hop
|
|
240
|
+
path: protocol.bgp.channel
|
|
241
|
+
usage: |
|
|
242
|
+
protocol bgp <name> {
|
|
243
|
+
ipv4 {
|
|
244
|
+
extended next hop on;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
- keyword: aigp
|
|
248
|
+
path: protocol.bgp.channel
|
|
249
|
+
usage: |
|
|
250
|
+
protocol bgp <name> {
|
|
251
|
+
ipv4 {
|
|
252
|
+
aigp on;
|
|
253
|
+
};
|
|
254
|
+
}
|