version 5.6R3.4; system { host-name P4A; root-authentication { encrypted-password "$1$GTfZ1K9U$T7mPsFdg7scKVpSL2jixy/"; # SECRET-DATA } login { user ws { full-name Workshop; uid 2000; class super-user; authentication { encrypted-password "$1$bkok2WBa$.uuMyvqsYeLgOL0HiZsid/"; # SECRET-DATA } } } services { ssh; telnet; } syslog { user * { any emergency; } file messages { any notice; authorization info; } } } interfaces { fe-0/0/0 { description "To P1 - Border B fa0/0"; unit 0 { family inet { address 199.109.201.17/30; } } } fe-0/0/1 { description "To P4 - Core C fa0/0"; unit 0 { family inet { address 199.109.204.25/30; } } } fe-0/0/3 { description "EXTERNAL INTERFACE"; unit 0 { family inet { address 199.109.205.14/30; } } } fxp0 { disable; } lo0 { description "P4 - Border A"; unit 0 { family inet { address 199.109.204.1/32; } } } } routing-options { interface-routes { rib-group inet ifrg; } rib inet.0 { aggregate { route 199.109.204.0/24; } } static { route 0.0.0.0/0 next-hop 199.109.205.13; } rib-groups { ifrg { import-rib inet.0; } igp-rg { export-rib inet.0; import-rib inet.0; } } router-id 199.109.204.1; autonomous-system 65504; } protocols { bgp { family inet { unicast; } group iBGP-mesh { type internal; local-address 199.109.204.1; export set-nexthop-self; local-as 65504; neighbor 199.109.204.2; neighbor 199.109.204.3; } group external-peers { type external; import transit-others; export [ announce-our-block transit-others ]; local-as 65504; neighbor 199.109.201.18 { description "Pod 1 Border B"; local-address 199.109.201.17; peer-as 65501; } } } ospf { export default-into-ospf; area 0.0.0.0 { interface fe-0/0/1.0; interface lo0.0 { passive; } interface fe-0/0/0.0 { passive; } interface fe-0/0/3.0 { passive; } } } } policy-options { policy-statement default-into-ospf { term default { from { protocol static; route-filter 0.0.0.0/0 exact; } then accept; } term nope { then reject; } } policy-statement set-nexthop-self { then { next-hop self; accept; } } policy-statement announce-our-block { term announce-204 { from { protocol aggregate; route-filter 199.109.204.0/24 exact; } then accept; } } policy-statement transit-others { term 1 { from { protocol bgp; route-filter 199.109.201.0/24 orlonger; route-filter 199.109.202.0/24 orlonger; route-filter 199.109.203.0/24 orlonger; } then accept; } term reject-other { then reject; } } }