From a37b449ce7546851ab801d62d9260d773b24e005 Mon Sep 17 00:00:00 2001 From: Robert Bays Date: Mon, 5 Apr 2010 23:25:06 -0700 Subject: initial update to bgp with new ipv6 and peer-group nodes --- scripts/bgp/vyatta-bgp.pl | 361 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 309 insertions(+), 52 deletions(-) (limited to 'scripts/bgp') diff --git a/scripts/bgp/vyatta-bgp.pl b/scripts/bgp/vyatta-bgp.pl index 69518b28..dc688729 100755 --- a/scripts/bgp/vyatta-bgp.pl +++ b/scripts/bgp/vyatta-bgp.pl @@ -44,28 +44,66 @@ my %qcom = ( "protocols bgp var" => "router bgp #3", "protocols bgp var aggregate-address" => undef, "protocols bgp var aggregate-address var" => "router bgp #3 ; no aggregate-address #5 ; aggregate-address #5 ?as-set ?summary-only", - "protocols bgp var ipv6" => undef, - "protocols bgp var ipv6 aggregate-address" => undef, - "protocols bgp var ipv6 aggregate-address var" => "router bgp #3 ; no ipv6 bgp aggregate-address #6 ; ipv6 bgp aggregate-address #6 ?summary-only", - "protocols bgp var ipv6 network" => "router bgp #3 ; no ipv6 bgp network #6 ; ipv6 bgp network #6", - "protocols bgp var ipv6 redistribute" => undef, - "protocols bgp var ipv6 redistribute connected" => "router bgp #3 ; address-family ipv6 ; redistribute connected", - "protocols bgp var ipv6 redistribute connected metric" => "router bgp #3 ; address-family ipv6 ; redistribute connected metric #8", - "protocols bgp var ipv6 redistribute connected route-map" => "router bgp #3 ; address-family ipv6 ; redistribute connected route-map #8", - "protocols bgp var ipv6 redistribute kernel" => "router bgp #3 ; address-family ipv6 ; redistribute kernel", - "protocols bgp var ipv6 redistribute kernel metric" => "router bgp #3 ; address-family ipv6 ; redistribute kernel metric #8", - "protocols bgp var ipv6 redistribute kernel route-map" => "router bgp #3 ; address-family ipv6 ; redistribute kernel route-map #8", - "protocols bgp var ipv6 redistribute ospfv3" => "router bgp #3 ; address-family ipv6 ; redistribute ospfv3", - "protocols bgp var ipv6 redistribute ospfv3 metric" => "router bgp #3 ; address-family ipv6 ; redistribute ospfv3 metric #8", - "protocols bgp var ipv6 redistribute ospfv3 route-map" => "router bgp #3 ; address-family ipv6 ; redistribute ospfv3 route-map #8", - "protocols bgp var ipv6 redistribute ripng" => "router bgp #3 ; address-family ipv6 ; redistribute ripng", - "protocols bgp var ipv6 redistribute ripng metric" => "router bgp #3 ; address-family ipv6 ; redistribute ripng metric #8", - "protocols bgp var ipv6 redistribute ripng route-map" => "router bgp #3 ; address-family ipv6 ; redistribute ripng route-map #8", - "protocols bgp var ipv6 redistribute static" => "router bgp #3 ; address-family ipv6 ; redistribute static", - "protocols bgp var ipv6 redistribute static metric" => "router bgp #3 ; address-family ipv6 ; redistribute static metric #8", - "protocols bgp var ipv6 redistribute static route-map" => "router bgp #3 ; address-family ipv6 ; redistribute static route-map #8", + "protocols bgp var address-family" => undef, + "protocols bgp var address-family ipv6-unicast" => undef, + "protocols bgp var address-family ipv6-unicast aggregate-address" => undef, + "protocols bgp var address-family ipv6-unicast aggregate-address var" => "router bgp #3 ; no ipv6 bgp aggregate-address #7 ; ipv6 bgp aggregate-address #7 ?summary-only", + "protocols bgp var address-family ipv6-unicast network" => "router bgp #3 ; no ipv6 bgp network #7 ; ipv6 bgp network #7", + "protocols bgp var address-family ipv6-unicast redistribute" => undef, + "protocols bgp var address-family ipv6-unicast redistribute connected" => "router bgp #3 ; address-family ipv6 ; redistribute connected", + "protocols bgp var address-family ipv6-unicast redistribute connected metric" => "router bgp #3 ; address-family ipv6 ; redistribute connected metric #9", + "protocols bgp var address-family ipv6-unicast redistribute connected route-map" => "router bgp #3 ; address-family ipv6 ; redistribute connected route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute kernel" => "router bgp #3 ; address-family ipv6 ; redistribute kernel", + "protocols bgp var address-family ipv6-unicast redistribute kernel metric" => "router bgp #3 ; address-family ipv6 ; redistribute kernel metric #9", + "protocols bgp var address-family ipv6-unicast redistribute kernel route-map" => "router bgp #3 ; address-family ipv6 ; redistribute kernel route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute ospfv3" => "router bgp #3 ; address-family ipv6 ; redistribute ospfv3", + "protocols bgp var address-family ipv6-unicast redistribute ospfv3 metric" => "router bgp #3 ; address-family ipv6 ; redistribute ospfv3 metric #9", + "protocols bgp var address-family ipv6-unicast redistribute ospfv3 route-map" => "router bgp #3 ; address-family ipv6 ; redistribute ospfv3 route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute ripng" => "router bgp #3 ; address-family ipv6 ; redistribute ripng", + "protocols bgp var address-family ipv6-unicast redistribute ripng metric" => "router bgp #3 ; address-family ipv6 ; redistribute ripng metric #9", + "protocols bgp var address-family ipv6-unicast redistribute ripng route-map" => "router bgp #3 ; address-family ipv6 ; redistribute ripng route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute static" => "router bgp #3 ; address-family ipv6 ; redistribute static", + "protocols bgp var address-family ipv6-unicast redistribute static metric" => "router bgp #3 ; address-family ipv6 ; redistribute static metric #9", + "protocols bgp var address-family ipv6-unicast redistribute static route-map" => "router bgp #3 ; address-family ipv6 ; redistribute static route-map #9", "protocols bgp var neighbor" => undef, "protocols bgp var neighbor var" => "router bgp #3 ; neighbor #5", + "protocols bgp var neighbor var address-family" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast allowas-in" => "router bgp #3 ; address-family ipv6 ; neighbor #5 allowas-in", + "protocols bgp var neighbor var address-family ipv6-unicast attribute-unchanged" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 attribute-unchanged ; neighbor #5 attribute-unchanged ?as-path ?med ?next-hop", + "protocols bgp var neighbor var address-family ipv6-unicast capability" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast capability dynamic" => "router bgp #3 ; address-family ipv6 ; neighbor #5 capability dynamic", + "protocols bgp var neighbor var address-family ipv6-unicast capability orf" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast capability orf prefix-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast capability orf prefix-list receive" => "router bgp #3 ; address-family ipv6 ; neighbor #5 capability orf prefix-list receive", + "protocols bgp var neighbor var address-family ipv6-unicast capability orf prefix-list send" => "router bgp #3 ; address-family ipv6 ; neighbor #5 capability orf prefix-list send", + "protocols bgp var neighbor var address-family ipv6-unicast default-originate" => "router bgp #3 ; address-family ipv6 ; neighbor #5 default-originate", + "protocols bgp var neighbor var address-family ipv6-unicast default-originate route-map" => "router bgp #3 ; address-family ipv6 ; neighbor #5 default-originate route-map #10", + "protocols bgp var neighbor var address-family ipv6-unicast disable-send-community" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast disable-send-community extended" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 send-community extended", + "protocols bgp var neighbor var address-family ipv6-unicast disable-send-community standard" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 send-community standard", + "protocols bgp var neighbor var address-family ipv6-unicast distribute-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast distribute-list export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 distribute-list #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast distribute-list import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 distribute-list #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast filter-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast filter-list export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 filter-list #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast filter-list import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 filter-list #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast maximum-prefix" => "router bgp #3 ; address-family ipv6 ; neighbor #5 maximum-prefix #9", + "protocols bgp var neighbor var address-family ipv6-unicast nexthop-local" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast nexthop-local" => "router bgp #3 ; address-family ipv6 ; neighbor #5 nexthop-local unchanged", + "protocols bgp var neighbor var address-family ipv6-unicast nexthop-self" => "router bgp #3 ; address-family ipv6 ; neighbor #5 next-hop-self", + "protocols bgp var neighbor var address-family ipv6-unicast prefix-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast prefix-list export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 prefix-list #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast prefix-list import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 prefix-list #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast remove-private-as" => "router bgp #3 ; address-family ipv6 ; neighbor #5 remove-private-AS", + "protocols bgp var neighbor var address-family ipv6-unicast route-map" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast route-map export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-map #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast route-map import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-map #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast route-reflector-client" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-reflector-client", + "protocols bgp var neighbor var address-family ipv6-unicast route-server-client" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-server-client", + "protocols bgp var neighbor var address-family ipv6-unicast soft-reconfiguration" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast soft-reconfiguration inbound" => "router bgp #3 ; address-family ipv6 ; neighbor #5 soft-reconfiguration inbound", + "protocols bgp var neighbor var address-family ipv6-unicast unsuppress-map" => "router bgp #3 ; address-family ipv6 ; neighbor #5 unsuppress-map #9", "protocols bgp var neighbor var advertisement-interval" => "router bgp #3 ; neighbor #5 advertisement-interval #7", # allowas-in as a standalone means any number of times. append number and you will only accept local-as N number of times in as-path "protocols bgp var neighbor var allowas-in" => "router bgp #3 ; neighbor #5 allowas-in", @@ -102,6 +140,7 @@ my %qcom = ( "protocols bgp var neighbor var override-capability" => "router bgp #3 ; neighbor #5 override-capability", "protocols bgp var neighbor var passive" => "router bgp #3 ; neighbor #5 passive", "protocols bgp var neighbor var password" => "router bgp #3 ; neighbor #5 password #7", + "protocols bgp var neighbor var peer-group" => "router bgp #3 ; neighbor #5 peer-group #7", "protocols bgp var neighbor var port" => "router bgp #3 ; neighbor #5 port #7", "protocols bgp var neighbor var prefix-list" => undef, "protocols bgp var neighbor var prefix-list export" => "router bgp #3 ; neighbor #5 prefix-list #8 out", @@ -153,6 +192,94 @@ my %qcom = ( "protocols bgp var parameters no-fast-external-failover" => "router bgp #3 ; no bgp fast-external-failover", "protocols bgp var parameters router-id" => "router bgp #3 ; bgp router-id #6", "protocols bgp var parameters scan-time" => "router bgp #3 ; bgp scan-time #6", + "protocols bgp var peer-group var" => "router bgp #3 ; neighbor #5 peer-group", + "protocols bgp var peer-group var address-family" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast allowas-in" => "router bgp #3 ; address-family ipv6 ; neighbor #5 allowas-in", + "protocols bgp var peer-group var address-family ipv6-unicast attribute-unchanged" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 attribute-unchanged ; neighbor #5 attribute-unchanged ?as-path ?med ?next-hop", + "protocols bgp var peer-group var address-family ipv6-unicast capability" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast capability dynamic" => "router bgp #3 ; address-family ipv6 ; neighbor #5 capability dynamic", + "protocols bgp var peer-group var address-family ipv6-unicast capability orf" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast capability orf prefix-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast capability orf prefix-list receive" => "router bgp #3 ; address-family ipv6 ; neighbor #5 capability orf prefix-list receive", + "protocols bgp var peer-group var address-family ipv6-unicast capability orf prefix-list send" => "router bgp #3 ; address-family ipv6 ; neighbor #5 capability orf prefix-list send", + "protocols bgp var peer-group var address-family ipv6-unicast default-originate" => "router bgp #3 ; address-family ipv6 ; neighbor #5 default-originate", + "protocols bgp var peer-group var address-family ipv6-unicast default-originate route-map" => "router bgp #3 ; address-family ipv6 ; neighbor #5 default-originate route-map #10", + "protocols bgp var peer-group var address-family ipv6-unicast disable-send-community" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast disable-send-community extended" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 send-community extended", + "protocols bgp var peer-group var address-family ipv6-unicast disable-send-community standard" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 send-community standard", + "protocols bgp var peer-group var address-family ipv6-unicast distribute-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast distribute-list export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 distribute-list #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast distribute-list import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 distribute-list #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast filter-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast filter-list export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 filter-list #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast filter-list import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 filter-list #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast maximum-prefix" => "router bgp #3 ; address-family ipv6 ; neighbor #5 maximum-prefix #9", + "protocols bgp var peer-group var address-family ipv6-unicast nexthop-local" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast nexthop-local" => "router bgp #3 ; address-family ipv6 ; neighbor #5 nexthop-local unchanged", + "protocols bgp var peer-group var address-family ipv6-unicast nexthop-self" => "router bgp #3 ; address-family ipv6 ; neighbor #5 next-hop-self", + "protocols bgp var peer-group var address-family ipv6-unicast prefix-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast prefix-list export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 prefix-list #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast prefix-list import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 prefix-list #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast remove-private-as" => "router bgp #3 ; address-family ipv6 ; neighbor #5 remove-private-AS", + "protocols bgp var peer-group var address-family ipv6-unicast route-map" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast route-map export" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-map #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast route-map import" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-map #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast route-reflector-client" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-reflector-client", + "protocols bgp var peer-group var address-family ipv6-unicast route-server-client" => "router bgp #3 ; address-family ipv6 ; neighbor #5 route-server-client", + "protocols bgp var peer-group var address-family ipv6-unicast soft-reconfiguration" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast soft-reconfiguration inbound" => "router bgp #3 ; address-family ipv6 ; neighbor #5 soft-reconfiguration inbound", + "protocols bgp var peer-group var address-family ipv6-unicast unsuppress-map" => "router bgp #3 ; address-family ipv6 ; neighbor #5 unsuppress-map #9", + "protocols bgp var peer-group var allowas-in" => "router bgp #3 ; neighbor #5 allowas-in", + "protocols bgp var peer-group var allowas-in number" => "router bgp #3 ; neighbor #5 allowas-in #8", + "protocols bgp var peer-group var attribute-unchanged" => "router bgp #3 ; no neighbor #5 attribute-unchanged ; neighbor #5 attribute-unchanged ?as-path ?med ?next-hop", + "protocols bgp var peer-group var capability" => undef, + "protocols bgp var peer-group var capability dynamic" => "router bgp #3 ; neighbor #5 capability dynamic", + "protocols bgp var peer-group var capability orf" => undef, + "protocols bgp var peer-group var capability orf prefix-list" => undef, + "protocols bgp var peer-group var capability orf prefix-list receive" => "router bgp #3 ; neighbor #5 capability orf prefix-list receive", + "protocols bgp var peer-group var capability orf prefix-list send" => "router bgp #3 ; neighbor #5 capability orf prefix-list send", + "protocols bgp var peer-group var default-originate" => "router bgp #3 ; neighbor #5 default-originate", + "protocols bgp var peer-group var default-originate route-map" => "router bgp #3 ; neighbor #5 default-originate route-map #8", + "protocols bgp var peer-group var disable-capability-negotiation" => "router bgp #3 ; neighbor #5 dont-capability-negotiate", + "protocols bgp var peer-group var disable-connected-check" => "router bgp #3 ; neighbor #5 disable-connected-check", + "protocols bgp var peer-group var disable-send-community" => undef, + "protocols bgp var peer-group var disable-send-community extended" => "router bgp #3 ; no neighbor #5 send-community extended", + "protocols bgp var peer-group var disable-send-community standard" => "router bgp #3 ; no neighbor #5 send-community standard", + "protocols bgp var peer-group var distribute-list" => undef, + "protocols bgp var peer-group var distribute-list export" => "router bgp #3 ; neighbor #5 distribute-list #8 out", + "protocols bgp var peer-group var distribute-list import" => "router bgp #3 ; neighbor #5 distribute-list #8 in", + "protocols bgp var peer-group var ebgp-multihop" => "router bgp #3 ; neighbor #5 ebgp-multihop #7", + "protocols bgp var peer-group var filter-list" => undef, + "protocols bgp var peer-group var filter-list export" => "router bgp #3 ; neighbor #5 filter-list #8 out", + "protocols bgp var peer-group var filter-list import" => "router bgp #3 ; neighbor #5 filter-list #8 in", + "protocols bgp var peer-group var local-as" => undef, + "protocols bgp var peer-group var local-as var" => "router bgp #3 ; no neighbor #5 local-as #7 ; neighbor #5 local-as #7", + "protocols bgp var peer-group var local-as var no-prepend" => "router bgp #3 ; no neighbor #5 local-as #7 ; neighbor #5 local-as #7 no-prepend", + "protocols bgp var peer-group var maximum-prefix" => "router bgp #3 ; neighbor #5 maximum-prefix #7", + "protocols bgp var peer-group var nexthop-self" => "router bgp #3 ; neighbor #5 next-hop-self", + "protocols bgp var peer-group var override-capability" => "router bgp #3 ; neighbor #5 override-capability", + "protocols bgp var peer-group var passive" => "router bgp #3 ; neighbor #5 passive", + "protocols bgp var peer-group var password" => "router bgp #3 ; neighbor #5 password #7", + "protocols bgp var peer-group var port" => "router bgp #3 ; neighbor #5 port #7", + "protocols bgp var peer-group var prefix-list" => undef, + "protocols bgp var peer-group var prefix-list export" => "router bgp #3 ; neighbor #5 prefix-list #8 out", + "protocols bgp var peer-group var prefix-list import" => "router bgp #3 ; neighbor #5 prefix-list #8 in", + "protocols bgp var peer-group var remote-as" => "router bgp #3 ; neighbor #5 remote-as #7", + "protocols bgp var peer-group var remove-private-as" => "router bgp #3 ; neighbor #5 remove-private-AS", + "protocols bgp var peer-group var route-map" => undef, + "protocols bgp var peer-group var route-map export" => "router bgp #3 ; neighbor #5 route-map #8 out", + "protocols bgp var peer-group var route-map import" => "router bgp #3 ; neighbor #5 route-map #8 in", + "protocols bgp var peer-group var route-reflector-client" => "router bgp #3 ; neighbor #5 route-reflector-client", + "protocols bgp var peer-group var route-server-client" => "router bgp #3 ; neighbor #5 route-server-client", + "protocols bgp var peer-group var shutdown" => "router bgp #3 ; neighbor #5 shutdown", + "protocols bgp var peer-group var soft-reconfiguration" => undef, + "protocols bgp var peer-group var soft-reconfiguration inbound" => "router bgp #3 ; neighbor #5 soft-reconfiguration inbound", + "protocols bgp var peer-group var timers" => 'router bgp #3 ; neighbor #5 timers @keepalive @holdtime', + "protocols bgp var peer-group var timers connect" => "router bgp #3 ; neighbor #5 timers connect #8", + "protocols bgp var peer-group var unsuppress-map" => "router bgp #3 ; neighbor #5 unsuppress-map #7", + "protocols bgp var peer-group var update-source" => "router bgp #3 ; neighbor #5 update-source #7", + "protocols bgp var peer-group var weight" => "router bgp #3 ; neighbor #5 weight #7", "protocols bgp var redistribute" => undef, "protocols bgp var redistribute connected" => "router bgp #3 ; redistribute connected", "protocols bgp var redistribute connected metric" => "router bgp #3 ; redistribute connected metric #7", @@ -178,28 +305,66 @@ my %qcomdel = ( "protocols bgp var" => "no router bgp #3", "protocols bgp var aggregate-address" => undef, "protocols bgp var aggregate-address var" => "router bgp #3 ; no aggregate-address #5 ?as-set ?summary-only", - "protocols bgp var ipv6" => undef, - "protocols bgp var ipv6 aggregate-address" => undef, - "protocols bgp var ipv6 aggregate-address var" => "router bgp #3 ; no ipv6 bgp aggregate-address #6 ?summary-only", - "protocols bgp var ipv6 network" => "router bgp #3 ; no ipv6 bgp network #6", - "protocols bgp var ipv6 redistribute" => undef, - "protocols bgp var ipv6 redistribute connected" => "router bgp #3 ; address-family ipv6 ; no redistribute connected", - "protocols bgp var ipv6 redistribute connected metric" => "router bgp #3 ; address-family ipv6 ; no redistribute connected metric #8", - "protocols bgp var ipv6 redistribute connected route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute connected route-map #8", - "protocols bgp var ipv6 redistribute kernel" => "router bgp #3 ; address-family ipv6 ; no redistribute kernel", - "protocols bgp var ipv6 redistribute kernel metric" => "router bgp #3 ; address-family ipv6 ; no redistribute kernel metric #8", - "protocols bgp var ipv6 redistribute kernel route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute kernel route-map #8", - "protocols bgp var ipv6 redistribute ospfv3" => "router bgp #3 ; address-family ipv6 ; no redistribute ospfv3", - "protocols bgp var ipv6 redistribute ospfv3 metric" => "router bgp #3 ; address-family ipv6 ; no redistribute ospfv3 metric #8", - "protocols bgp var ipv6 redistribute ospfv3 route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute ospfv3 route-map #8", - "protocols bgp var ipv6 redistribute ripng" => "router bgp #3 ; address-family ipv6 ; no redistribute ripng", - "protocols bgp var ipv6 redistribute ripng metric" => "router bgp #3 ; address-family ipv6 ; no redistribute ripng metric #8", - "protocols bgp var ipv6 redistribute ripng route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute ripng route-map #8", - "protocols bgp var ipv6 redistribute static" => "router bgp #3 ; address-family ipv6 ; no redistribute static", - "protocols bgp var ipv6 redistribute static metric" => "router bgp #3 ; address-family ipv6 ; no redistribute static metric #8", - "protocols bgp var ipv6 redistribute static route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute static route-map #8", + "protocols bgp var address-family" => undef, + "protocols bgp var address-family ipv6-unicast" => undef, + "protocols bgp var address-family ipv6-unicast aggregate-address" => undef, + "protocols bgp var address-family ipv6-unicast aggregate-address var" => "router bgp #3 ; no ipv6 bgp aggregate-address #7", + "protocols bgp var address-family ipv6-unicast network" => "router bgp #3 ; no ipv6 bgp network #7 ; no ipv6 bgp network #7", + "protocols bgp var address-family ipv6-unicast redistribute" => undef, + "protocols bgp var address-family ipv6-unicast redistribute connected" => "router bgp #3 ; address-family ipv6 ; no redistribute connected", + "protocols bgp var address-family ipv6-unicast redistribute connected metric" => "router bgp #3 ; address-family ipv6 ; no redistribute connected metric #9", + "protocols bgp var address-family ipv6-unicast redistribute connected route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute connected route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute kernel" => "router bgp #3 ; address-family ipv6 ; no redistribute kernel", + "protocols bgp var address-family ipv6-unicast redistribute kernel metric" => "router bgp #3 ; address-family ipv6 ; no redistribute kernel metric #9", + "protocols bgp var address-family ipv6-unicast redistribute kernel route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute kernel route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute ospfv3" => "router bgp #3 ; address-family ipv6 ; no redistribute ospfv3", + "protocols bgp var address-family ipv6-unicast redistribute ospfv3 metric" => "router bgp #3 ; address-family ipv6 ; no redistribute ospfv3 metric #9", + "protocols bgp var address-family ipv6-unicast redistribute ospfv3 route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute ospfv3 route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute ripng" => "router bgp #3 ; address-family ipv6 ; no redistribute ripng", + "protocols bgp var address-family ipv6-unicast redistribute ripng metric" => "router bgp #3 ; address-family ipv6 ; no redistribute ripng metric #9", + "protocols bgp var address-family ipv6-unicast redistribute ripng route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute ripng route-map #9", + "protocols bgp var address-family ipv6-unicast redistribute static" => "router bgp #3 ; address-family ipv6 ; no redistribute static", + "protocols bgp var address-family ipv6-unicast redistribute static metric" => "router bgp #3 ; address-family ipv6 ; no redistribute static metric #9", + "protocols bgp var address-family ipv6-unicast redistribute static route-map" => "router bgp #3 ; address-family ipv6 ; no redistribute static route-map #9", "protocols bgp var neighbor" => undef, "protocols bgp var neighbor var" => "router bgp #3 ; no neighbor #5", + "protocols bgp var neighbor var address-family" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast allowas-in" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 allowas-in", + "protocols bgp var neighbor var address-family ipv6-unicast attribute-unchanged" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 attribute-unchanged", + "protocols bgp var neighbor var address-family ipv6-unicast capability" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast capability dynamic" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 capability dynamic", + "protocols bgp var neighbor var address-family ipv6-unicast capability orf" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast capability orf prefix-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast capability orf prefix-list receive" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 capability orf prefix-list receive", + "protocols bgp var neighbor var address-family ipv6-unicast capability orf prefix-list send" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 capability orf prefix-list send", + "protocols bgp var neighbor var address-family ipv6-unicast default-originate" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 default-originate", + "protocols bgp var neighbor var address-family ipv6-unicast default-originate route-map" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 default-originate route-map #10", + "protocols bgp var neighbor var address-family ipv6-unicast disable-send-community" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast disable-send-community extended" => "router bgp #3 ; address-family ipv6 ; neighbor #5 send-community extended", + "protocols bgp var neighbor var address-family ipv6-unicast disable-send-community standard" => "router bgp #3 ; address-family ipv6 ; neighbor #5 send-community standard", + "protocols bgp var neighbor var address-family ipv6-unicast distribute-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast distribute-list export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 distribute-list #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast distribute-list import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 distribute-list #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast filter-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast filter-list export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 filter-list #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast filter-list import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 filter-list #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast maximum-prefix" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 maximum-prefix #9", + "protocols bgp var neighbor var address-family ipv6-unicast nexthop-local" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast nexthop-local" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 nexthop-local unchanged", + "protocols bgp var neighbor var address-family ipv6-unicast nexthop-self" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 next-hop-self", + "protocols bgp var neighbor var address-family ipv6-unicast prefix-list" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast prefix-list export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 prefix-list #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast prefix-list import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 prefix-list #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast remove-private-as" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 remove-private-AS", + "protocols bgp var neighbor var address-family ipv6-unicast route-map" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast route-map export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-map #10 out", + "protocols bgp var neighbor var address-family ipv6-unicast route-map import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-map #10 in", + "protocols bgp var neighbor var address-family ipv6-unicast route-reflector-client" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-reflector-client", + "protocols bgp var neighbor var address-family ipv6-unicast route-server-client" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-server-client", + "protocols bgp var neighbor var address-family ipv6-unicast soft-reconfiguration" => undef, + "protocols bgp var neighbor var address-family ipv6-unicast soft-reconfiguration inbound" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 soft-reconfiguration inbound", + "protocols bgp var neighbor var address-family ipv6-unicast unsuppress-map" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 unsuppress-map #9", "protocols bgp var neighbor var advertisement-interval" => "router bgp #3 ; no neighbor #5 advertisement-interval", "protocols bgp var neighbor var allowas-in" => "router bgp #3 ; no neighbor #5 allowas-in", "protocols bgp var neighbor var allowas-in number" => "router bgp #3 ; no neighbor #5 allowas-in #8 ; neighbor #5 allowas-in", @@ -231,6 +396,7 @@ my %qcomdel = ( "protocols bgp var neighbor var override-capability" => "router bgp #3 ; no neighbor #5 override-capability", "protocols bgp var neighbor var passive" => "router bgp #3 ; no neighbor #5 passive", "protocols bgp var neighbor var password" => "router bgp #3 ; no neighbor #5 password", + "protocols bgp var neighbor var peer-group" => "router bgp #3 ; no neighbor #5 peer-group #7", "protocols bgp var neighbor var port" => "router bgp #3 ; no neighbor #5 port", "protocols bgp var neighbor var prefix-list" => undef, "protocols bgp var neighbor var prefix-list export" => "router bgp #3 ; no neighbor #5 prefix-list #8 out", @@ -282,6 +448,94 @@ my %qcomdel = ( "protocols bgp var parameters no-fast-external-failover" => "router bgp #3 ; bgp fast-external-failover", "protocols bgp var parameters router-id" => "router bgp #3 ; no bgp router-id #6", "protocols bgp var parameters scan-time" => "router bgp #3 ; no bgp scan-time #6", + "protocols bgp var peer-group var" => "router bgp #3 ; no neighbor #5 peer-group", + "protocols bgp var peer-group var address-family" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast allowas-in" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 allowas-in", + "protocols bgp var peer-group var address-family ipv6-unicast attribute-unchanged" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 attribute-unchanged", + "protocols bgp var peer-group var address-family ipv6-unicast capability" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast capability dynamic" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 capability dynamic", + "protocols bgp var peer-group var address-family ipv6-unicast capability orf" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast capability orf prefix-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast capability orf prefix-list receive" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 capability orf prefix-list receive", + "protocols bgp var peer-group var address-family ipv6-unicast capability orf prefix-list send" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 capability orf prefix-list send", + "protocols bgp var peer-group var address-family ipv6-unicast default-originate" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 default-originate", + "protocols bgp var peer-group var address-family ipv6-unicast default-originate route-map" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 default-originate route-map #10", + "protocols bgp var peer-group var address-family ipv6-unicast disable-send-community" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast disable-send-community extended" => "router bgp #3 ; address-family ipv6 ; neighbor #5 send-community extended", + "protocols bgp var peer-group var address-family ipv6-unicast disable-send-community standard" => "router bgp #3 ; address-family ipv6 ; neighbor #5 send-community standard", + "protocols bgp var peer-group var address-family ipv6-unicast distribute-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast distribute-list export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 distribute-list #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast distribute-list import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 distribute-list #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast filter-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast filter-list export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 filter-list #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast filter-list import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 filter-list #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast maximum-prefix" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 maximum-prefix #9", + "protocols bgp var peer-group var address-family ipv6-unicast nexthop-local" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast nexthop-local" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 nexthop-local unchanged", + "protocols bgp var peer-group var address-family ipv6-unicast nexthop-self" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 next-hop-self", + "protocols bgp var peer-group var address-family ipv6-unicast prefix-list" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast prefix-list export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 prefix-list #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast prefix-list import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 prefix-list #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast remove-private-as" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 remove-private-AS", + "protocols bgp var peer-group var address-family ipv6-unicast route-map" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast route-map export" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-map #10 out", + "protocols bgp var peer-group var address-family ipv6-unicast route-map import" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-map #10 in", + "protocols bgp var peer-group var address-family ipv6-unicast route-reflector-client" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-reflector-client", + "protocols bgp var peer-group var address-family ipv6-unicast route-server-client" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 route-server-client", + "protocols bgp var peer-group var address-family ipv6-unicast soft-reconfiguration" => undef, + "protocols bgp var peer-group var address-family ipv6-unicast soft-reconfiguration inbound" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 soft-reconfiguration inbound", + "protocols bgp var peer-group var address-family ipv6-unicast unsuppress-map" => "router bgp #3 ; address-family ipv6 ; no neighbor #5 unsuppress-map #9", + "protocols bgp var peer-group var allowas-in" => "router bgp #3 ; no neighbor #5 allowas-in", + "protocols bgp var peer-group var allowas-in number" => "router bgp #3 ; no neighbor #5 allowas-in #8 ; neighbor #5 allowas-in", + "protocols bgp var peer-group var attribute-unchanged" => "router bgp #3 ; no neighbor #5 attribute-unchanged ?as-path ?med ?next-hop", + "protocols bgp var peer-group var capability" => undef, + "protocols bgp var peer-group var capability dynamic" => "router bgp #3 ; no neighbor #5 capability dynamic", + "protocols bgp var peer-group var capability orf" => undef, + "protocols bgp var peer-group var capability orf prefix-list" => undef, + "protocols bgp var peer-group var capability orf prefix-list receive" => "router bgp #3 ; no neighbor #5 capability orf prefix-list receive", + "protocols bgp var peer-group var capability orf prefix-list send" => "router bgp #3 ; no neighbor #5 capability orf prefix-list send", + "protocols bgp var peer-group var default-originate" => "router bgp #3 ; no neighbor #5 default-originate", + "protocols bgp var peer-group var default-originate route-map" => "router bgp #3 ; no neighbor #5 default-originate route-map #8", + "protocols bgp var peer-group var disable-capability-negotiation" => "router bgp #3 ; no neighbor #5 dont-capability-negotiate", + "protocols bgp var peer-group var disable-connected-check" => "router bgp #3 ; no neighbor #5 disable-connected-check", + "protocols bgp var peer-group var disable-send-community" => undef, + "protocols bgp var peer-group var disable-send-community extended" => "router bgp #3 ; neighbor #5 send-community extended", + "protocols bgp var peer-group var disable-send-community standard" => "router bgp #3 ; neighbor #5 send-community standard", + "protocols bgp var peer-group var distribute-list" => undef, + "protocols bgp var peer-group var distribute-list export" => "router bgp #3 ; no neighbor #5 distribute-list #8 out", + "protocols bgp var peer-group var distribute-list import" => "router bgp #3 ; no neighbor #5 distribute-list #8 in", + "protocols bgp var peer-group var ebgp-multihop" => "router bgp #3 ; no neighbor #5 ebgp-multihop #7", + "protocols bgp var peer-group var filter-list" => undef, + "protocols bgp var peer-group var filter-list export" => "router bgp #3 ; no neighbor #5 filter-list #8 out", + "protocols bgp var peer-group var filter-list import" => "router bgp #3 ; no neighbor #5 filter-list #8 in", + "protocols bgp var peer-group var local-as" => undef, + "protocols bgp var peer-group var local-as var" => "router bgp #3 ; no neighbor #5 local-as #7", + "protocols bgp var peer-group var local-as var no-prepend" => "router bgp #3 ; no neighbor #5 local-as #7 ; neighbor #5 local-as", + "protocols bgp var peer-group var maximum-prefix" => "router bgp #3 ; no neighbor #5 maximum-prefix #7", + "protocols bgp var peer-group var nexthop-self" => "router bgp #3 ; no neighbor #5 next-hop-self", + "protocols bgp var peer-group var override-capability" => "router bgp #3 ; no neighbor #5 override-capability", + "protocols bgp var peer-group var passive" => "router bgp #3 ; no neighbor #5 passive", + "protocols bgp var peer-group var password" => "router bgp #3 ; no neighbor #5 password #7", + "protocols bgp var peer-group var port" => "router bgp #3 ; no neighbor #5 port #7", + "protocols bgp var peer-group var prefix-list" => undef, + "protocols bgp var peer-group var prefix-list export" => "router bgp #3 ; no neighbor #5 prefix-list #8 out", + "protocols bgp var peer-group var prefix-list import" => "router bgp #3 ; no neighbor #5 prefix-list #8 in", + "protocols bgp var peer-group var remote-as" => "router bgp #3 ; no neighbor #5 remote-as #7", + "protocols bgp var peer-group var remove-private-as" => "router bgp #3 ; no neighbor #5 remove-private-AS", + "protocols bgp var peer-group var route-map" => undef, + "protocols bgp var peer-group var route-map export" => "router bgp #3 ; no neighbor #5 route-map #8 out", + "protocols bgp var peer-group var route-map import" => "router bgp #3 ; no neighbor #5 route-map #8 in", + "protocols bgp var peer-group var route-reflector-client" => "router bgp #3 ; no neighbor #5 route-reflector-client", + "protocols bgp var peer-group var route-server-client" => "router bgp #3 ; no neighbor #5 route-server-client", + "protocols bgp var peer-group var shutdown" => "router bgp #3 ; no neighbor #5 shutdown", + "protocols bgp var peer-group var soft-reconfiguration" => undef, + "protocols bgp var peer-group var soft-reconfiguration inbound" => "router bgp #3 ; no neighbor #5 soft-reconfiguration inbound", + "protocols bgp var peer-group var timers" => 'router bgp #3 ; no neighbor #5", + "protocols bgp var peer-group var timers connect" => "router bgp #3 ; no neighbor #5 timers connect #8", + "protocols bgp var peer-group var unsuppress-map" => "router bgp #3 ; no neighbor #5 unsuppress-map #7", + "protocols bgp var peer-group var update-source" => "router bgp #3 ; no neighbor #5 update-source #7", + "protocols bgp var peer-group var weight" => "router bgp #3 ; no neighbor #5 weight #7", "protocols bgp var redistribute" => undef, "protocols bgp var redistribute connected" => "router bgp #3 ; no redistribute connected", "protocols bgp var redistribute connected metric" => "router bgp #3 ; no redistribute connected metric #7", @@ -440,21 +694,24 @@ sub main { #$qconfig->setDebugLevel('3'); #$qconfig->_reInitialize(); - print "deleteConfigTreeRecursive(protocols bgp)\n"; - print "---\n"; printQuaggaCommands($qconfig); print "---\n"; + # deletes with priority $qconfig->deleteConfigTreeRecursive('protocols bgp') || die "exiting $?\n"; - - print "setConfigTree(protocols bgp var neighbor var remote-as)\n"; - print "---\n"; printQuaggaCommands($qconfig); print "---\n"; - $qconfig->setConfigTreeRecursive('protocols bgp var neighbor var remote-as') || die "exiting $?\n"; - - print "setConfigTreeRecursive(protocols bgp)\n"; - print "---\n"; printQuaggaCommands($qconfig); print "---\n"; + # would be cool if I could add a recursive delete such as everything but (protocols bgp var neigh var remote-as) + + # sets with priority + $qconfig->setConfigTreeRecursive('protocols bgp var parameters') || die "exiting $?\n"; + $qconfig->setConfigTree('protocols bgp var peer-group var remote-as') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var peer-group') || die "exiting $?\n"; + $qconfig->setConfigTree('protocols bgp var neighbor var remote-as') || die "exiting $?\n"; + $qconfig->setConfigTree('protocols bgp var neighbor var shutdown') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var neighbor var route-map') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var neighbor var filter-list') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var neighbor var prefix-list') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var neighbor var distribute-list') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var neighbor var unsuppress-map') || die "exiting $?\n"; + $qconfig->setConfigTreeRecursive('protocols bgp var neighbor') || die "exiting $?\n"; $qconfig->setConfigTreeRecursive('protocols bgp') || die "exiting $?\n"; - print "---\n"; printQuaggaCommands($qconfig); print "---\n"; - - #700 protocols bgp var parameters #705 protocols bgp var neighbhor shutdown #715 protocols bgp var neighbhor route-map #716 protocols bgp var neighbhor filter-list -- cgit v1.2.3