In this example, we create a group some-isp that contains configuration data relating to another Internet service provider (ISP). We can then insert apply-group statements at any point to allow any location in the configuration hierarchy to inherit this data.
- [edit]
- user@host# show
- groups {
-
- some-isp {
-
- interfaces {
-
- <xe-*> {
-
- gigether-options {
- flow-control;
- }
- }
- }
-
- protocols {
-
- bgp {
-
- group <*> {
-
- neighbor <*> {
- remove-private;
- }
- }
- }
-
- pim {
-
- interface <*> {
- version 1;
- }
- }
- }
- }
- }
- interfaces {
-
- xe-0/0/0 {
- apply-groups some-isp;
-
- unit 0 {
-
- family inet {
- address 10.0.0.1/24;
- }
- }
- }
- }
- protocols {
-
- bgp {
-
- group main {
-
- neighbor 10.254.0.1 {
- apply-groups some-isp;
- }
- }
- }
-
- pim {
-
- interface xe-0/0/0.0 {
- apply-groups some-isp;
- }
- }
- }
- [edit]
- user@host# show | display inheritance
- interfaces {
-
- xe-0/0/0 {
- ##
- ## "gigether-options" was inherited from group "some-isp"
- ##
-
- gigether-options {
- ##
- ## "flow-control" was inherited from group "some-isp"
- ##
- flow-control;
- }
-
- unit 0 {
-
- family inet {
- address 10.0.0.1/24;
- }
- }
- }
- }
- protocols {
-
- bgp {
-
- group main {
-
- neighbor 10.254.0.1 {
- ##
- ## "remove-private" was inherited from group "some-isp"
- ##
- remove-private;
- }
- }
- }
-
- pim {
-
- interface xe-0/0/0.0 {
- ##
- ## "1" was inherited from group "some-isp"
- ##
- version 1;
- }
- }
- }