
routerAFC.addSC("aggregate-address", "Configure BGP aggregate entries");
	routerAFC["aggregate-address"].addSC("A.B.C.D", "Aggregate address");
		routerAFC["aggregate-address"]["A.B.C.D"].addSC("A.B.C.D", "Aggregate mask");
			routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"].addSC("advertise-map", "Set condition to advertise attribute");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
			routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"].addSC("as-set", "Generate AS set path information");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
			routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"].addSC("attribute-map", "Set attributes of aggregate");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["attribute-map"].addSC("WORD", "Route map for parameter control");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["attribute-map"].WORD.addSC("advertise-map", "Set condition to advertise attribute");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["attribute-map"].WORD["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["attribute-map"].WORD.addSC("as-set", "Generate AS set path information");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["attribute-map"].WORD["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["attribute-map"].WORD["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
			routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"].addSC("route-map", "Set parameters of aggregate");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["route-map"].addSC("WORD", "Route map for parameter control");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["route-map"].WORD.addSC("as-set", "Generate AS set path information");
			routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"].addSC("summary-only", "Filter more specific routes from updates");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"].addSC("advertise-map", "Set condition to advertise attribute");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"].addSC("as-set", "Generate AS set path information");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"].addSC("attribute-map", "Set attributes of aggregate");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["attribute-map"].addSC("WORD", "Route map for parameter control");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["attribute-map"].WORD.addSC("advertise-map", "Set condition to advertise attribute");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["attribute-map"].WORD["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["attribute-map"].WORD.addSC("as-set", "Generate AS set path information");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["attribute-map"].WORD["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["attribute-map"].WORD["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"].addSC("route-map", "Set parameters of aggregate");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["route-map"].addSC("WORD", "Route map for parameter control");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["summary-only"]["route-map"].WORD.addSC("as-set", "Generate AS set path information");
			routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"].addSC("suppress-map", "Conditionally filter more specific routes from updates");
				routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].addSC("WORD", "Route map for suppression");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD.addSC("advertise-map", "Set condition to advertise attribute");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD.addSC("as-set", "Generate AS set path information");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD.addSC("attribute-map", "Set attributes of aggregate");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["attribute-map"].addSC("WORD", "Route map for parameter control");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["attribute-map"].WORD.addSC("advertise-map", "Set condition to advertise attribute");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["attribute-map"].WORD["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["attribute-map"].WORD.addSC("as-set", "Generate AS set path information");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["attribute-map"].WORD["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
									routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["attribute-map"].WORD["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD.addSC("route-map", "Set parameters of aggregate");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["route-map"].addSC("WORD", "Route map for parameter control");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["route-map"].WORD.addSC("as-set", "Generate AS set path information");
					routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD.addSC("summary-only", "Filter more specific routes from updates");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"].addSC("advertise-map", "Set condition to advertise attribute");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"].addSC("as-set", "Generate AS set path information");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["as-set"]["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"].addSC("attribute-map", "Set attributes of aggregate");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["attribute-map"].addSC("WORD", "Route map for parameter control");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["attribute-map"].WORD.addSC("advertise-map", "Set condition to advertise attribute");
									routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["attribute-map"].WORD["advertise-map"].addSC("WORD", "Route map to control attribute advertisement");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["attribute-map"].WORD.addSC("as-set", "Generate AS set path information");
									routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["attribute-map"].WORD["as-set"].addSC("advertise-map", "Set condition to advertise attribute");
						routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"].addSC("route-map", "Set parameters of aggregate");
							routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["route-map"].addSC("WORD", "Route map for parameter control");
								routerAFC["aggregate-address"]["A.B.C.D"]["A.B.C.D"]["suppress-map"].WORD["summary-only"]["route-map"].WORD.addSC("as-set", "Generate AS set path information");
routerAFC.addSC("auto-summary", "Enable automatic network number summarization");
routerAFC.addSC("bgp", "BGP specific commands");
routerAFC.addSC("default", "Set a command to its defaults");
routerAFC.addSC("default-information", "Control distribution of default information");
routerAFC.addSC("default-metric", "Set metric of redistributed routes");
routerAFC.addSC("distance", "Define an administrative distance");
routerAFC.addSC("distribute-list", "Filter networks in routing updates");
routerAFC.addSC("exit-address-family", "Exit from Address Family configuration mode");
routerAFC.addSC("help", "Description of the interactive help system");
routerAFC.addSC("maximum-paths", "Forward packets over multiple paths");
	routerAFC["maximum-paths"].addSC("<1-6>", "Number of paths");
	routerAFC["maximum-paths"].addSC("ibgp", "iBGP-multipath");
		routerAFC["maximum-paths"].ibgp.addSC("<1-6>", "Number of paths");
routerAFC.addSC("neighbor", "Specify a neighbor router");
	routerAFC.neighbor.addSC("A.B.C.D", "Neighbor address");
		routerAFC.neighbor["A.B.C.D"].addSC("activate", "Enable the Address Family for this Neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("advertise-map", "specify route-map for conditional advertisement");
			routerAFC.neighbor["A.B.C.D"]["advertise-map"].addSC("WORD", "advertise route-map name");
				routerAFC.neighbor["A.B.C.D"]["advertise-map"].WORD.addSC("exist-map", "advertise prefix only if prefix is in the condition exists");
					routerAFC.neighbor["A.B.C.D"]["advertise-map"].WORD["exist-map"].addSC("WORD", "condition route-map name");
				routerAFC.neighbor["A.B.C.D"]["advertise-map"].WORD.addSC("non-exist-map", "advertise prefix only if prefix in the condition does not exist");
					routerAFC.neighbor["A.B.C.D"]["advertise-map"].WORD["non-exist-map"].addSC("WORD", "condition route-map name");
		routerAFC.neighbor["A.B.C.D"].addSC("advertisement-interval", "Minimum interval between sending BGP routing updates");
			routerAFC.neighbor["A.B.C.D"]["advertisement-interval"].addSC("<0-600>", "time in seconds");
		routerAFC.neighbor["A.B.C.D"].addSC("allowas-in", "Accept as-path with my AS present in it");
			routerAFC.neighbor["A.B.C.D"]["allowas-in"].addSC("<1-10>", "Number of occurances of AS number");
		routerAFC.neighbor["A.B.C.D"].addSC("capability", "Advertise capability to the peer");
			routerAFC.neighbor["A.B.C.D"].capability.addSC("orf", "Advertise ORF capability to the peer");
				routerAFC.neighbor["A.B.C.D"].capability.orf.addSC("prefix-list", "Advertise prefixlist ORF capability to this neighbor");
					routerAFC.neighbor["A.B.C.D"].capability.orf["prefix-list"].addSC("both", "Capability to SEND and RECEIVE the ORF to/from this neighbor");
					routerAFC.neighbor["A.B.C.D"].capability.orf["prefix-list"].addSC("receive", "Capability to RECEIVE the ORF from this neighbor");
					routerAFC.neighbor["A.B.C.D"].capability.orf["prefix-list"].addSC("send", "Capability to SEND the ORF to this neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("default-originate", "Originate default route to this neighbor");
			routerAFC.neighbor["A.B.C.D"]["default-originate"].addSC("route-map", "Route-map to specify criteria to originate default");
				routerAFC.neighbor["A.B.C.D"]["default-originate"]["route-map"].addSC("WORD", "route-map name");
		routerAFC.neighbor["A.B.C.D"].addSC("description", "Neighbor specific description");
			routerAFC.neighbor["A.B.C.D"].description.addSC("LINE", "Up to 80 characters describing this neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("distribute-list", "Filter updates to/from this neighbor");
			routerAFC.neighbor["A.B.C.D"]["distribute-list"].addSC("<1-199>", "IP access list number");
				routerAFC.neighbor["A.B.C.D"]["distribute-list"]["<1-199>"].addSC("in", "Filter incoming updates");
				routerAFC.neighbor["A.B.C.D"]["distribute-list"]["<1-199>"].addSC("out", "Filter outgoing updates");
			routerAFC.neighbor["A.B.C.D"]["distribute-list"].addSC("<1300-2699>", "IP access list number (expanded range)");
				routerAFC.neighbor["A.B.C.D"]["distribute-list"]["<1300-2699>"].addSC("in", "Filter incoming updates");
				routerAFC.neighbor["A.B.C.D"]["distribute-list"]["<1300-2699>"].addSC("out", "Filter outgoing updates");
			routerAFC.neighbor["A.B.C.D"]["distribute-list"].addSC("WORD", "IP Access-list name");
				routerAFC.neighbor["A.B.C.D"]["distribute-list"].WORD.addSC("in", "Filter incoming updates");
				routerAFC.neighbor["A.B.C.D"]["distribute-list"].WORD.addSC("out", "Filter outgoing updates");
		routerAFC.neighbor["A.B.C.D"].addSC("dmzlink-bw", "Propagate the DMZ link bandwidth");
		routerAFC.neighbor["A.B.C.D"].addSC("ebgp-multihop", "Allow EBGP neighbors not on directly connected networks");
			routerAFC.neighbor["A.B.C.D"]["ebgp-multihop"].addSC("<1-255>", "maximum hop count");
		routerAFC.neighbor["A.B.C.D"].addSC("filter-list", "Establish BGP filters");
			routerAFC.neighbor["A.B.C.D"]["filter-list"].addSC("<1-199>", "AS path access list");
				routerAFC.neighbor["A.B.C.D"]["filter-list"]["<1-199>"].addSC("in", "Filter incoming routes");
				routerAFC.neighbor["A.B.C.D"]["filter-list"]["<1-199>"].addSC("out", "Filter outgoing routes");
		routerAFC.neighbor["A.B.C.D"].addSC("local-as", "Specify a local-as number");
			routerAFC.neighbor["A.B.C.D"]["local-as"].addSC("<1-65535>", "AS number used as local AS");
				routerAFC.neighbor["A.B.C.D"]["local-as"]["<1-65535>"].addSC("no-prepend", "Do not prepend local-as to updates from ebgp peers");
		routerAFC.neighbor["A.B.C.D"].addSC("maximum-prefix", "Maximum number of prefix accept from this peer");
			routerAFC.neighbor["A.B.C.D"]["maximum-prefix"].addSC("<1-4294967295>", "maximum no. of prefix limit");
				routerAFC.neighbor["A.B.C.D"]["maximum-prefix"]["<1-4294967295>"].addSC("<1-100>", "Threshold value (%) at which to generate a warning msg");
				routerAFC.neighbor["A.B.C.D"]["maximum-prefix"]["<1-4294967295>"].addSC("warning-only", "Only give warning message when limit is exceeded");
		routerAFC.neighbor["A.B.C.D"].addSC("next-hop-self", "Disable the next hop calculation for this neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("next-hop-unchanged", "Propagate the iBGP paths's next hop unchanged for this neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("password", "Set a password");
			routerAFC.neighbor["A.B.C.D"].password.addSC("<0-7>", "Encryption type (0 to disable encryption, 7 for proprietary)");
				routerAFC.neighbor["A.B.C.D"].password["<0-7>"].addSC("LINE", "The password");
		routerAFC.neighbor["A.B.C.D"].addSC("peer-group", "Member of the peer-group");
			routerAFC.neighbor["A.B.C.D"]["peer-group"].addSC("WORD", "peer-group name");
		routerAFC.neighbor["A.B.C.D"].addSC("prefix-list", "Filter updates to/from this neighbor");
			routerAFC.neighbor["A.B.C.D"]["prefix-list"].addSC("WORD", "Name of a prefix list");
				routerAFC.neighbor["A.B.C.D"]["prefix-list"].WORD.addSC("in", "Filter incoming updates");
				routerAFC.neighbor["A.B.C.D"]["prefix-list"].WORD.addSC("out", "Filter outgoing updates");
		routerAFC.neighbor["A.B.C.D"].addSC("remote-as", "Specify a BGP neighbor");
			routerAFC.neighbor["A.B.C.D"]["remote-as"].addSC("<1-65535>", "AS of remote neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("remove-private-AS", "Remove private AS number from outbound updates");
		routerAFC.neighbor["A.B.C.D"].addSC("route-map", "Apply route map to neighbor");
			routerAFC.neighbor["A.B.C.D"]["route-map"].addSC("WORD", "Name of route map");
				routerAFC.neighbor["A.B.C.D"]["route-map"].WORD.addSC("in", "Apply map to incoming routes");
				routerAFC.neighbor["A.B.C.D"]["route-map"].WORD.addSC("out", "Apply map to outbound routes");
		routerAFC.neighbor["A.B.C.D"].addSC("route-reflector-client", "Configure a neighbor as Route Reflector client");
		routerAFC.neighbor["A.B.C.D"].addSC("send-community", "Send Community attribute to this neighbor");
			routerAFC.neighbor["A.B.C.D"]["send-community"].addSC("both", "Send Standard and Extended Community attributes");
			routerAFC.neighbor["A.B.C.D"]["send-community"].addSC("extended", "Send Extended Community attribute");
			routerAFC.neighbor["A.B.C.D"]["send-community"].addSC("standard", "Send Standard Community attribute");
		routerAFC.neighbor["A.B.C.D"].addSC("shutdown", "Administratively shut down this neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("soft-reconfiguration", "Per neighbor soft reconfiguration");
			routerAFC.neighbor["A.B.C.D"]["soft-reconfiguration"].addSC("inbound", "Allow inbound soft reconfiguration for this neighbor");
		routerAFC.neighbor["A.B.C.D"].addSC("timers", "BGP per neighbor timers");
			routerAFC.neighbor["A.B.C.D"].timers.addSC("<0-4294967295>", "Keepalive interval");
				routerAFC.neighbor["A.B.C.D"].timers["<0-4294967295>"].addSC("<0-4294967295>", "Holdtime");
		routerAFC.neighbor["A.B.C.D"].addSC("translate-update", "Translate Update to MBGP format");
			routerAFC.neighbor["A.B.C.D"]["translate-update"].addSC("nlri", "Specify type of nlri to translate to");
				routerAFC.neighbor["A.B.C.D"]["translate-update"].nlri.addSC("multicast", "Translate Update to multicast nlri");
				routerAFC.neighbor["A.B.C.D"]["translate-update"].nlri.addSC("unicast", "Process Update as unicast nlri");
					routerAFC.neighbor["A.B.C.D"]["translate-update"].nlri.unicast.addSC("multicast", "Translate Update to multicast nlri");
		routerAFC.neighbor["A.B.C.D"].addSC("unsuppress-map", "Route-map to selectively unsuppress suppressed routes");
			routerAFC.neighbor["A.B.C.D"]["unsuppress-map"].addSC("WORD", "Name of route map");
		routerAFC.neighbor["A.B.C.D"].addSC("update-source", "Source of routing updates");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Async", "Async interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Async.addSC("<1-5>", "Async interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("BVI", "Bridge-Group Virtual Interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].BVI.addSC("<1-255>", "BVI interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("CTunnel", "CTunnel interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].CTunnel.addSC("<0-2147483647>", "CTunnel interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Dialer", "Dialer interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Dialer.addSC("<0-255>", "Dialer interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("FastEthernet", "FastEthernet IEEE 802.3");
				routerAFC.neighbor["A.B.C.D"]["update-source"].FastEthernet.addSC("<0-0>", "FastEthernet interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Lex", "Lex interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Lex.addSC("<0-2147483647>", "Lex interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Loopback", "Loopback interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Loopback.addSC("<0-2147483647>", "Loopback interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("MFR", "Multilink Frame Relay bundle interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].MFR.addSC("<0-2147483647>", "MFR interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Multilink", "Multilink-group interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Multilink.addSC("<1-2147483647>", "Multilink interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Null", "Null interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Null.addSC("<0-0>", "Null interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Serial", "Serial");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Serial.addSC("<0-1>", "Serial interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Tunnel", "Tunnel interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Tunnel.addSC("<0-2147483647>", "Tunnel interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Vif", "PGM Multicast Host interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"].Vif.addSC("<1-1>", "Vif interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Virtual-Template", "Virtual Template interface");
				routerAFC.neighbor["A.B.C.D"]["update-source"]["Virtual-Template"].addSC("<1-200>", "Virtual-Template interface number");
			routerAFC.neighbor["A.B.C.D"]["update-source"].addSC("Virtual-TokenRing", "Virtual TokenRing");
				routerAFC.neighbor["A.B.C.D"]["update-source"]["Virtual-TokenRing"].addSC("<0-2147483647>", "Virtual-TokenRing interface number");
		routerAFC.neighbor["A.B.C.D"].addSC("version", "Set the BGP version to match a neighbor");
			routerAFC.neighbor["A.B.C.D"].version.addSC("<4-4>", "Neighbor's BGP version");
		routerAFC.neighbor["A.B.C.D"].addSC("weight", "Set default weight for routes from this neighbor");
			routerAFC.neighbor["A.B.C.D"].weight.addSC("<0-65535>", "default weight");
	routerAFC.neighbor.addSC("WORD", "Neighbor tag");
		routerAFC.neighbor.WORD.addSC("activate", "Enable the Address Family for this Neighbor");
		routerAFC.neighbor.WORD.addSC("advertise-map", "specify route-map for conditional advertisement");
			routerAFC.neighbor.WORD["advertise-map"].addSC("WORD", "advertise route-map name");
				routerAFC.neighbor.WORD["advertise-map"].WORD.addSC("exist-map", "advertise prefix only if prefix is in the condition exists");
					routerAFC.neighbor.WORD["advertise-map"].WORD["exist-map"].addSC("WORD", "condition route-map name");
				routerAFC.neighbor.WORD["advertise-map"].WORD.addSC("non-exist-map", "advertise prefix only if prefix in the condition does not exist");
					routerAFC.neighbor.WORD["advertise-map"].WORD["non-exist-map"].addSC("WORD", "condition route-map name");
		routerAFC.neighbor.WORD.addSC("advertisement-interval", "Minimum interval between sending BGP routing updates");
			routerAFC.neighbor.WORD["advertisement-interval"].addSC("<0-600>", "time in seconds");
		routerAFC.neighbor.WORD.addSC("allowas-in", "Accept as-path with my AS present in it");
			routerAFC.neighbor.WORD["allowas-in"].addSC("<1-10>", "Number of occurances of AS number");
		routerAFC.neighbor.WORD.addSC("capability", "Advertise capability to the peer");
			routerAFC.neighbor.WORD.capability.addSC("orf", "Advertise ORF capability to the peer");
				routerAFC.neighbor.WORD.capability.orf.addSC("prefix-list", "Advertise prefixlist ORF capability to this neighbor");
					routerAFC.neighbor.WORD.capability.orf["prefix-list"].addSC("both", "Capability to SEND and RECEIVE the ORF to/from this neighbor");
					routerAFC.neighbor.WORD.capability.orf["prefix-list"].addSC("receive", "Capability to RECEIVE the ORF from this neighbor");
					routerAFC.neighbor.WORD.capability.orf["prefix-list"].addSC("send", "Capability to SEND the ORF to this neighbor");
		routerAFC.neighbor.WORD.addSC("default-originate", "Originate default route to this neighbor");
			routerAFC.neighbor.WORD["default-originate"].addSC("route-map", "Route-map to specify criteria to originate default");
				routerAFC.neighbor.WORD["default-originate"]["route-map"].addSC("WORD", "route-map name");
		routerAFC.neighbor.WORD.addSC("description", "Neighbor specific description");
			routerAFC.neighbor.WORD.description.addSC("LINE", "Up to 80 characters describing this neighbor");
		routerAFC.neighbor.WORD.addSC("distribute-list", "Filter updates to/from this neighbor");
			routerAFC.neighbor.WORD["distribute-list"].addSC("<1-199>", "IP access list number");
				routerAFC.neighbor.WORD["distribute-list"]["<1-199>"].addSC("in", "Filter incoming updates");
				routerAFC.neighbor.WORD["distribute-list"]["<1-199>"].addSC("out", "Filter outgoing updates");
			routerAFC.neighbor.WORD["distribute-list"].addSC("<1300-2699>", "IP access list number (expanded range)");
				routerAFC.neighbor.WORD["distribute-list"]["<1300-2699>"].addSC("in", "Filter incoming updates");
				routerAFC.neighbor.WORD["distribute-list"]["<1300-2699>"].addSC("out", "Filter outgoing updates");
			routerAFC.neighbor.WORD["distribute-list"].addSC("WORD", "IP Access-list name");
				routerAFC.neighbor.WORD["distribute-list"].WORD.addSC("in", "Filter incoming updates");
				routerAFC.neighbor.WORD["distribute-list"].WORD.addSC("out", "Filter outgoing updates");
		routerAFC.neighbor.WORD.addSC("dmzlink-bw", "Propagate the DMZ link bandwidth");
		routerAFC.neighbor.WORD.addSC("ebgp-multihop", "Allow EBGP neighbors not on directly connected networks");
			routerAFC.neighbor.WORD["ebgp-multihop"].addSC("<1-255>", "maximum hop count");
		routerAFC.neighbor.WORD.addSC("filter-list", "Establish BGP filters");
			routerAFC.neighbor.WORD["filter-list"].addSC("<1-199>", "AS path access list");
				routerAFC.neighbor.WORD["filter-list"]["<1-199>"].addSC("in", "Filter incoming routes");
				routerAFC.neighbor.WORD["filter-list"]["<1-199>"].addSC("out", "Filter outgoing routes");
		routerAFC.neighbor.WORD.addSC("local-as", "Specify a local-as number");
			routerAFC.neighbor.WORD["local-as"].addSC("<1-65535>", "AS number used as local AS");
				routerAFC.neighbor.WORD["local-as"]["<1-65535>"].addSC("no-prepend", "Do not prepend local-as to updates from ebgp peers");
		routerAFC.neighbor.WORD.addSC("maximum-prefix", "Maximum number of prefix accept from this peer");
			routerAFC.neighbor.WORD["maximum-prefix"].addSC("<1-4294967295>", "maximum no. of prefix limit");
				routerAFC.neighbor.WORD["maximum-prefix"]["<1-4294967295>"].addSC("<1-100>", "Threshold value (%) at which to generate a warning msg");
				routerAFC.neighbor.WORD["maximum-prefix"]["<1-4294967295>"].addSC("warning-only", "Only give warning message when limit is exceeded");
		routerAFC.neighbor.WORD.addSC("next-hop-self", "Disable the next hop calculation for this neighbor");
		routerAFC.neighbor.WORD.addSC("next-hop-unchanged", "Propagate the iBGP paths's next hop unchanged for this neighbor");
		routerAFC.neighbor.WORD.addSC("password", "Set a password");
			routerAFC.neighbor.WORD.password.addSC("<0-7>", "Encryption type (0 to disable encryption, 7 for proprietary)");
				routerAFC.neighbor.WORD.password["<0-7>"].addSC("LINE", "The password");
		routerAFC.neighbor.WORD.addSC("peer-group", "Configure peer-group");
		routerAFC.neighbor.WORD.addSC("prefix-list", "Filter updates to/from this neighbor");
			routerAFC.neighbor.WORD["prefix-list"].addSC("WORD", "Name of a prefix list");
				routerAFC.neighbor.WORD["prefix-list"].WORD.addSC("in", "Filter incoming updates");
				routerAFC.neighbor.WORD["prefix-list"].WORD.addSC("out", "Filter outgoing updates");
		routerAFC.neighbor.WORD.addSC("remote-as", "Specify a BGP neighbor");
			routerAFC.neighbor.WORD["remote-as"].addSC("<1-65535>", "AS of remote neighbor");
		routerAFC.neighbor.WORD.addSC("remove-private-AS", "Remove private AS number from outbound updates");
		routerAFC.neighbor.WORD.addSC("route-map", "Apply route map to neighbor");
			routerAFC.neighbor.WORD["route-map"].addSC("WORD", "Name of route map");
				routerAFC.neighbor.WORD["route-map"].WORD.addSC("in", "Apply map to incoming routes");
				routerAFC.neighbor.WORD["route-map"].WORD.addSC("out", "Apply map to outbound routes");
		routerAFC.neighbor.WORD.addSC("route-reflector-client", "Configure a neighbor as Route Reflector client");
		routerAFC.neighbor.WORD.addSC("send-community", "Send Community attribute to this neighbor");
			routerAFC.neighbor.WORD["send-community"].addSC("both", "Send Standard and Extended Community attributes");
			routerAFC.neighbor.WORD["send-community"].addSC("extended", "Send Extended Community attribute");
			routerAFC.neighbor.WORD["send-community"].addSC("standard", "Send Standard Community attribute");
		routerAFC.neighbor.WORD.addSC("shutdown", "Administratively shut down this neighbor");
		routerAFC.neighbor.WORD.addSC("soft-reconfiguration", "Per neighbor soft reconfiguration");
			routerAFC.neighbor.WORD["soft-reconfiguration"].addSC("inbound", "Allow inbound soft reconfiguration for this neighbor");
		routerAFC.neighbor.WORD.addSC("timers", "BGP per neighbor timers");
			routerAFC.neighbor.WORD.timers.addSC("<0-4294967295>", "Keepalive interval");
				routerAFC.neighbor.WORD.timers["<0-4294967295>"].addSC("<0-4294967295>", "Holdtime");
		routerAFC.neighbor.WORD.addSC("translate-update", "Translate Update to MBGP format");
			routerAFC.neighbor.WORD["translate-update"].addSC("nlri", "Specify type of nlri to translate to");
				routerAFC.neighbor.WORD["translate-update"].nlri.addSC("multicast", "Translate Update to multicast nlri");
				routerAFC.neighbor.WORD["translate-update"].nlri.addSC("unicast", "Process Update as unicast nlri");
					routerAFC.neighbor.WORD["translate-update"].nlri.unicast.addSC("multicast", "Translate Update to multicast nlri");
		routerAFC.neighbor.WORD.addSC("unsuppress-map", "Route-map to selectively unsuppress suppressed routes");
			routerAFC.neighbor.WORD["unsuppress-map"].addSC("WORD", "Name of route map");
		routerAFC.neighbor.WORD.addSC("update-source", "Source of routing updates");
			routerAFC.neighbor.WORD["update-source"].addSC("Async", "Async interface");
				routerAFC.neighbor.WORD["update-source"].Async.addSC("<1-5>", "Async interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("BVI", "Bridge-Group Virtual Interface");
				routerAFC.neighbor.WORD["update-source"].BVI.addSC("<1-255>", "BVI interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("CTunnel", "CTunnel interface");
				routerAFC.neighbor.WORD["update-source"].CTunnel.addSC("<0-2147483647>", "CTunnel interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Dialer", "Dialer interface");
				routerAFC.neighbor.WORD["update-source"].Dialer.addSC("<0-255>", "Dialer interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("FastEthernet", "FastEthernet IEEE 802.3");
				routerAFC.neighbor.WORD["update-source"].FastEthernet.addSC("<0-0>", "FastEthernet interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Lex", "Lex interface");
				routerAFC.neighbor.WORD["update-source"].Lex.addSC("<0-2147483647>", "Lex interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Loopback", "Loopback interface");
				routerAFC.neighbor.WORD["update-source"].Loopback.addSC("<0-2147483647>", "Loopback interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("MFR", "Multilink Frame Relay bundle interface");
				routerAFC.neighbor.WORD["update-source"].MFR.addSC("<0-2147483647>", "MFR interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Multilink", "Multilink-group interface");
				routerAFC.neighbor.WORD["update-source"].Multilink.addSC("<1-2147483647>", "Multilink interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Null", "Null interface");
				routerAFC.neighbor.WORD["update-source"].Null.addSC("<0-0>", "Null interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Serial", "Serial");
				routerAFC.neighbor.WORD["update-source"].Serial.addSC("<0-1>", "Serial interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Tunnel", "Tunnel interface");
				routerAFC.neighbor.WORD["update-source"].Tunnel.addSC("<0-2147483647>", "Tunnel interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Vif", "PGM Multicast Host interface");
				routerAFC.neighbor.WORD["update-source"].Vif.addSC("<1-1>", "Vif interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Virtual-Template", "Virtual Template interface");
				routerAFC.neighbor.WORD["update-source"]["Virtual-Template"].addSC("<1-200>", "Virtual-Template interface number");
			routerAFC.neighbor.WORD["update-source"].addSC("Virtual-TokenRing", "Virtual TokenRing");
				routerAFC.neighbor.WORD["update-source"]["Virtual-TokenRing"].addSC("<0-2147483647>", "Virtual-TokenRing interface number");
		routerAFC.neighbor.WORD.addSC("version", "Set the BGP version to match a neighbor");
			routerAFC.neighbor.WORD.version.addSC("<4-4>", "Neighbor's BGP version");
		routerAFC.neighbor.WORD.addSC("weight", "Set default weight for routes from this neighbor");
			routerAFC.neighbor.WORD.weight.addSC("<0-65535>", "default weight");
	routerAFC.neighbor.addSC("X:X:X:X::X", "Neighbor IPv6 address");
routerAFC.addSC("network", "Specify a network to announce via BGP");
	routerAFC.network.addSC("A.B.C.D", "Network number");
		routerAFC.network["A.B.C.D"].addSC("backdoor", "Specify a BGP backdoor route");
		routerAFC.network["A.B.C.D"].addSC("mask", "Network mask");
			routerAFC.network["A.B.C.D"].mask.addSC("A.B.C.D", "Network mask");
				routerAFC.network["A.B.C.D"].mask["A.B.C.D"].addSC("backdoor", "Specify a BGP backdoor route");
		routerAFC.network["A.B.C.D"].addSC("route-map", "Route-map to modify the attributes");
			routerAFC.network["A.B.C.D"]["route-map"].addSC("WORD", "Name of the route map");
				routerAFC.network["A.B.C.D"]["route-map"].WORD.addSC("backdoor", "Specify a BGP backdoor route");
routerAFC.addSC("no", "Negate a command or set its defaults");
routerAFC.addSC("redistribute", "Redistribute information from another routing protocol");
routerAFC.addSC("synchronization", "Perform IGP synchronization");
routerAFC.addSC("table-map", "Map external entry attributes into routing table");
