dark_15

BGP Inheritance

Apr 13th, 2021
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.60 KB | None | 0 0
  1. Sample BGP Configuration:
  2.  
  3. set protocols bgp group TRANSIT-1 peer-as 1111 neighbor 1.1.1.1
  4. set protocols bgp group TRANSIT-2 peer-as 2222 neighbor 2.2.2.2
  5. set protocols bgp group IX-1 peer-as 3333 neighbor 3.3.3.3
  6. set protocols bgp group IX-2 peer-as 4444 neighbor 4.4.4.4
  7. set protocols bgp group IX-3 peer-as 5555 neighbor 5.5.5.5
  8. set protocols bgp group PEER-1 peer-as 6666 neighbor 6.6.6.6
  9. set protocols bgp group PEER-2 peer-as 7777 neighbor 7.7.7.7
  10. set protocols bgp group PEER-3 peer-as 8888 neighbor 8.8.8.8
  11.  
  12. [edit]
  13. chaynes@gatekeeper# show protocols bgp
  14. group TRANSIT-1 {
  15. peer-as 1111;
  16. neighbor 1.1.1.1;
  17. }
  18. group TRANSIT-2 {
  19. peer-as 2222;
  20. neighbor 2.2.2.2;
  21. }
  22. group IX-1 {
  23. peer-as 3333;
  24. neighbor 3.3.3.3;
  25. }
  26. group IX-2 {
  27. peer-as 4444;
  28. neighbor 4.4.4.4;
  29. }
  30. group IX-3 {
  31. peer-as 5555;
  32. neighbor 5.5.5.5;
  33. }
  34. group PEER-1 {
  35. peer-as 6666;
  36. neighbor 6.6.6.6;
  37. }
  38. group PEER-2 {
  39. peer-as 7777;
  40. neighbor 7.7.7.7;
  41. }
  42. group PEER-3 {
  43. peer-as 8888;
  44. neighbor 8.8.8.8;
  45. }
  46.  
  47.  
  48. Add in the apply-group:
  49.  
  50. set groups BGP protocols bgp log-updown
  51. set groups BGP protocols bgp import REJECT-ALL
  52. set groups BGP protocols bgp export REJECT-ALL
  53.  
  54. set groups BGP protocols bgp group <TRANSIT*> remove-private all
  55. set groups BGP protocols bgp group <TRANSIT*> multipath multiple-as
  56. set groups BGP protocols bgp group <TRANSIT*> export TRANSIT-EXPORT
  57. set groups BGP protocols bgp group <TRANSIT*> import TRANSIT-IMPORT
  58.  
  59. set groups BGP protocols bgp group <PEER*> remove-private all
  60. set groups BGP protocols bgp group <PEER*> multipath multiple-as
  61. set groups BGP protocols bgp group <PEER*> export PEER-EXPORT
  62. set groups BGP protocols bgp group <PEER*> import PEER-IMPORT
  63.  
  64. set groups BGP protocols bgp group <IX*> remove-private all
  65. set groups BGP protocols bgp group <IX*> multipath multiple-as
  66. set groups BGP protocols bgp group <IX*> export IX-EXPORT
  67. set groups BGP protocols bgp group <IX*> import IX-IMPORT
  68.  
  69. set protocols bgp apply-groups BGP
  70.  
  71.  
  72. Show the configuration again:
  73.  
  74. apply-groups BGP;
  75. group TRANSIT-1 {
  76. peer-as 1111;
  77. neighbor 1.1.1.1;
  78. }
  79. group TRANSIT-2 {
  80. peer-as 2222;
  81. neighbor 2.2.2.2;
  82. }
  83. group IX-1 {
  84. peer-as 3333;
  85. neighbor 3.3.3.3;
  86. }
  87. group IX-2 {
  88. peer-as 4444;
  89. neighbor 4.4.4.4;
  90. }
  91. group IX-3 {
  92. peer-as 5555;
  93. neighbor 5.5.5.5;
  94. }
  95. group PEER-1 {
  96. peer-as 6666;
  97. neighbor 6.6.6.6;
  98. }
  99. group PEER-2 {
  100. peer-as 7777;
  101. neighbor 7.7.7.7;
  102. }
  103. group PEER-3 {
  104. peer-as 8888;
  105. neighbor 8.8.8.8;
  106. }
  107.  
  108.  
  109. Show the configuration with inheritance:
  110.  
  111. [edit]
  112. chaynes@gatekeeper# show protocols bgp | display inheritance
  113. group TRANSIT-1 {
  114. ##
  115. ## 'TRANSIT-IMPORT' was inherited from group 'BGP'
  116. ##
  117. import TRANSIT-IMPORT;
  118. ##
  119. ## 'TRANSIT-EXPORT' was inherited from group 'BGP'
  120. ##
  121. export TRANSIT-EXPORT;
  122. ##
  123. ## 'remove-private' was inherited from group 'BGP'
  124. ##
  125. remove-private {
  126. ##
  127. ## 'all' was inherited from group 'BGP'
  128. ##
  129. all;
  130. }
  131. peer-as 1111;
  132. ##
  133. ## 'multipath' was inherited from group 'BGP'
  134. ##
  135. multipath {
  136. ##
  137. ## 'multiple-as' was inherited from group 'BGP'
  138. ##
  139. multiple-as;
  140. }
  141. neighbor 1.1.1.1;
  142. }
  143. group TRANSIT-2 {
  144. ##
  145. ## 'TRANSIT-IMPORT' was inherited from group 'BGP'
  146. ##
  147. import TRANSIT-IMPORT;
  148. ##
  149. ## 'TRANSIT-EXPORT' was inherited from group 'BGP'
  150. ##
  151. export TRANSIT-EXPORT;
  152. ##
  153. ## 'remove-private' was inherited from group 'BGP'
  154. ##
  155. remove-private {
  156. ##
  157. ## 'all' was inherited from group 'BGP'
  158. ##
  159. all;
  160. }
  161. peer-as 2222;
  162. ##
  163. ## 'multipath' was inherited from group 'BGP'
  164. ##
  165. multipath {
  166. ##
  167. ## 'multiple-as' was inherited from group 'BGP'
  168. ##
  169. multiple-as;
  170. }
  171. neighbor 2.2.2.2;
  172. }
  173. group IX-1 {
  174. ##
  175. ## 'IX-IMPORT' was inherited from group 'BGP'
  176. ##
  177. import IX-IMPORT;
  178. ##
  179. ## 'IX-EXPORT' was inherited from group 'BGP'
  180. ##
  181. export IX-EXPORT;
  182. ##
  183. ## 'remove-private' was inherited from group 'BGP'
  184. ##
  185. remove-private {
  186. ##
  187. ## 'all' was inherited from group 'BGP'
  188. ##
  189. all;
  190. }
  191. peer-as 3333;
  192. ##
  193. ## 'multipath' was inherited from group 'BGP'
  194. ##
  195. multipath {
  196. ##
  197. ## 'multiple-as' was inherited from group 'BGP'
  198. ##
  199. multiple-as;
  200. }
  201. neighbor 3.3.3.3;
  202. }
  203. group IX-2 {
  204. ##
  205. ## 'IX-IMPORT' was inherited from group 'BGP'
  206. ##
  207. import IX-IMPORT;
  208. ##
  209. ## 'IX-EXPORT' was inherited from group 'BGP'
  210. ##
  211. export IX-EXPORT;
  212. ##
  213. ## 'remove-private' was inherited from group 'BGP'
  214. ##
  215. remove-private {
  216. ##
  217. ## 'all' was inherited from group 'BGP'
  218. ##
  219. all;
  220. }
  221. peer-as 4444;
  222. ##
  223. ## 'multipath' was inherited from group 'BGP'
  224. ##
  225. multipath {
  226. ##
  227. ## 'multiple-as' was inherited from group 'BGP'
  228. ##
  229. multiple-as;
  230. }
  231. neighbor 4.4.4.4;
  232. }
  233. group IX-3 {
  234. ##
  235. ## 'IX-IMPORT' was inherited from group 'BGP'
  236. ##
  237. import IX-IMPORT;
  238. ##
  239. ## 'IX-EXPORT' was inherited from group 'BGP'
  240. ##
  241. export IX-EXPORT;
  242. ##
  243. ## 'remove-private' was inherited from group 'BGP'
  244. ##
  245. remove-private {
  246. ##
  247. ## 'all' was inherited from group 'BGP'
  248. ##
  249. all;
  250. }
  251. peer-as 5555;
  252. ##
  253. ## 'multipath' was inherited from group 'BGP'
  254. ##
  255. multipath {
  256. ##
  257. ## 'multiple-as' was inherited from group 'BGP'
  258. ##
  259. multiple-as;
  260. }
  261. neighbor 5.5.5.5;
  262. }
  263. group PEER-1 {
  264. ##
  265. ## 'PEER-IMPORT' was inherited from group 'BGP'
  266. ##
  267. import PEER-IMPORT;
  268. ##
  269. ## 'PEER-EXPORT' was inherited from group 'BGP'
  270. ##
  271. export PEER-EXPORT;
  272. ##
  273. ## 'remove-private' was inherited from group 'BGP'
  274. ##
  275. remove-private {
  276. ##
  277. ## 'all' was inherited from group 'BGP'
  278. ##
  279. all;
  280. }
  281. peer-as 6666;
  282. ##
  283. ## 'multipath' was inherited from group 'BGP'
  284. ##
  285. multipath {
  286. ##
  287. ## 'multiple-as' was inherited from group 'BGP'
  288. ##
  289. multiple-as;
  290. }
  291. neighbor 6.6.6.6;
  292. }
  293. group PEER-2 {
  294. ##
  295. ## 'PEER-IMPORT' was inherited from group 'BGP'
  296. ##
  297. import PEER-IMPORT;
  298. ##
  299. ## 'PEER-EXPORT' was inherited from group 'BGP'
  300. ##
  301. export PEER-EXPORT;
  302. ##
  303. ## 'remove-private' was inherited from group 'BGP'
  304. ##
  305. remove-private {
  306. ##
  307. ## 'all' was inherited from group 'BGP'
  308. ##
  309. all;
  310. }
  311. peer-as 7777;
  312. ##
  313. ## 'multipath' was inherited from group 'BGP'
  314. ##
  315. multipath {
  316. ##
  317. ## 'multiple-as' was inherited from group 'BGP'
  318. ##
  319. multiple-as;
  320. }
  321. neighbor 7.7.7.7;
  322. }
  323. group PEER-3 {
  324. ##
  325. ## 'PEER-IMPORT' was inherited from group 'BGP'
  326. ##
  327. import PEER-IMPORT;
  328. ##
  329. ## 'PEER-EXPORT' was inherited from group 'BGP'
  330. ##
  331. export PEER-EXPORT;
  332. ##
  333. ## 'remove-private' was inherited from group 'BGP'
  334. ##
  335. remove-private {
  336. ##
  337. ## 'all' was inherited from group 'BGP'
  338. ##
  339. all;
  340. }
  341. peer-as 8888;
  342. ##
  343. ## 'multipath' was inherited from group 'BGP'
  344. ##
  345. multipath {
  346. ##
  347. ## 'multiple-as' was inherited from group 'BGP'
  348. ##
  349. multiple-as;
  350. }
  351. neighbor 8.8.8.8;
  352. }
  353. ##
  354. ## 'log-updown' was inherited from group 'BGP'
  355. ##
  356. log-updown;
  357. ##
  358. ## 'REJECT-ALL' was inherited from group 'BGP'
  359. ##
  360. import REJECT-ALL;
  361. ##
  362. ## 'REJECT-ALL' was inherited from group 'BGP'
  363. ##
  364. export REJECT-ALL;
  365.  
  366.  
  367. show the configuration inheritance without comments:
  368.  
  369. [edit]
  370. chaynes@gatekeeper# show protocols bgp | display inheritance no-comments
  371. group TRANSIT-1 {
  372. import TRANSIT-IMPORT;
  373. export TRANSIT-EXPORT;
  374. remove-private {
  375. all;
  376. }
  377. peer-as 1111;
  378. multipath {
  379. multiple-as;
  380. }
  381. neighbor 1.1.1.1;
  382. }
  383. group TRANSIT-2 {
  384. import TRANSIT-IMPORT;
  385. export TRANSIT-EXPORT;
  386. remove-private {
  387. all;
  388. }
  389. peer-as 2222;
  390. multipath {
  391. multiple-as;
  392. }
  393. neighbor 2.2.2.2;
  394. }
  395. group IX-1 {
  396. import IX-IMPORT;
  397. export IX-EXPORT;
  398. remove-private {
  399. all;
  400. }
  401. peer-as 3333;
  402. multipath {
  403. multiple-as;
  404. }
  405. neighbor 3.3.3.3;
  406. }
  407. group IX-2 {
  408. import IX-IMPORT;
  409. export IX-EXPORT;
  410. remove-private {
  411. all;
  412. }
  413. peer-as 4444;
  414. multipath {
  415. multiple-as;
  416. }
  417. neighbor 4.4.4.4;
  418. }
  419. group IX-3 {
  420. import IX-IMPORT;
  421. export IX-EXPORT;
  422. remove-private {
  423. all;
  424. }
  425. peer-as 5555;
  426. multipath {
  427. multiple-as;
  428. }
  429. neighbor 5.5.5.5;
  430. }
  431. group PEER-1 {
  432. import PEER-IMPORT;
  433. export PEER-EXPORT;
  434. remove-private {
  435. all;
  436. }
  437. peer-as 6666;
  438. multipath {
  439. multiple-as;
  440. }
  441. neighbor 6.6.6.6;
  442. }
  443. group PEER-2 {
  444. import PEER-IMPORT;
  445. export PEER-EXPORT;
  446. remove-private {
  447. all;
  448. }
  449. peer-as 7777;
  450. multipath {
  451. multiple-as;
  452. }
  453. neighbor 7.7.7.7;
  454. }
  455. group PEER-3 {
  456. import PEER-IMPORT;
  457. export PEER-EXPORT;
  458. remove-private {
  459. all;
  460. }
  461. peer-as 8888;
  462. multipath {
  463. multiple-as;
  464. }
  465. neighbor 8.8.8.8;
  466. }
  467. log-updown;
  468. import REJECT-ALL;
  469. export REJECT-ALL;
Advertisement
Add Comment
Please, Sign In to add comment