Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BGP - as-override option under address-family #368

Open
AnthonyF5 opened this issue Nov 29, 2023 · 4 comments
Open

BGP - as-override option under address-family #368

AnthonyF5 opened this issue Nov 29, 2023 · 4 comments
Labels
enhancement New feature or request untriaged Issue needs to be reviewed for validity

Comments

@AnthonyF5
Copy link

Is your feature request related to a problem? Please describe.

Missing option in DO schema for BGP to enabling the option as-override under the address-family.

address-family [add | delete | modify | replace-all-with] {
                              [ [name] ] {
                                    options:
                                      activate [disabled | enabled]
                                      allow-as-in [[string] | none]
                            >>        as-override [disabled | enabled]
                                      attribute-unchanged {
                                          as-path [disabled | enabled]
                                          med [disabled | enabled]
                                          next-hop [disabled | enabled]
                                      }

Describe the solution you'd like

Please add the option as its a request from a customer.

Describe alternatives you've considered

Alternative is to use the TMSH options for BGP.

modify net routing bgp bgp_tcp_decrypt neighbor add { 1.2.3.4 { remote-as 65200  address-family { ipv4 { as-override enabled } } } 5.6.7.8 { remote-as 65201  address-family { ipv4 { as-override enabled } } } }

Additional context

None.

@AnthonyF5 AnthonyF5 added enhancement New feature or request untriaged Issue needs to be reviewed for validity labels Nov 29, 2023
@mdditt2000
Copy link

Jira item AUTOTOOL-4107 - Adding to the next sprint

@RobCupples
Copy link

I am seeking some clarification. In the TMSH example above 'address-family' is under 'neighbor' but as far as I can tell DO does not currently support 'address-family' being a member of 'neighbor'. That would make this an issue to add 'address-family' under 'neighbor' as well which internally will require a bigger window to schedule the work.

There are at least 2 other 'address-family' properties in the TMSH 'net routing bgp' object. One is at the top-level and does not have an 'as-override' property as far as I can tell. The second is under 'peer-group'. This 'address-family' is currently supported by DO and DO does support attaching a 'peer-group' (peerGroup) under neighbor.

Do you want the 'as-override' property for 'address-family' under 'neighbor', 'peer-group', or both?

@AnthonyF5
Copy link
Author

Hi

Do you want the 'as-override' property for 'address-family' under 'neighbor', 'peer-group', or both?
The BGP section is under neigbour > address-family per below reference (>>>):

Reference page is TMSH BGP reference

MODULE net routing
SYNTAX
   CREATE/MODIFY
	create bgp [name]
	modify bgp [name]
	  options:
	    allow-infinite-hold-time [disabled | enabled]
	    always-compare-med [disabled | enabled]
	    bestpath {
		as-path-ignore [disabled | enabled]
		compare-confed-aspath [disabled | enabled]
		compare-originator-id [disabled | enabled]
		compare-routerid [disabled | enabled]
		med {
		    confed [disabled | enabled]
		    missing-as-worst [disabled | enabled]
		    remove-recv-med [disabled | enabled]
		    remove-send-med [disabled | enabled]
		}
		tie-break-on-age [disabled | enabled]
	    }
	    client-to-client-reflection [disabled | enabled]
	    cluster-id [integer]
	    confederation {
		identifier [integer]
		peers [[string] | none]
	    }
	    dampening {
		reachability-half-life [integer]
		reuse [integer]
		route-map [[string] | none]
		state [disabled | enabled]
		suppress [integer]
		suppress-max [integer]
		unreachability-half-life [integer]
	    }
	    default-local-preference [integer]
	    description [[string] | none]
	    deterministic-med [disabled | enabled]
	    enabled [true | false]
	    enforce-first-as [disabled | enabled]
	    fast-external-failover [disabled | enabled]
	    graceful-restart {
		graceful-reset [disabled | enabled]
		restart-time [integer]
		stalepath-time [integer]
	    }
	    graceful-shutdown {
		capable [disabled | enabled]
		local-preference [integer]
		mode [disabled | enabled]
	    }
	    hold-time [integer]
	    keep-alive [integer]
	    local-as [integer]
	    log-neighbor-changes [disabled | enabled]
	    profile [[string] | none]
	    route-domain [[string] | none]
	    router-id [ip address]
	    scan-time [integer]
	    synchronization [disabled | enabled]
	    update-delay [integer]
	    view [disabled | enabled]
	    address-family [add | delete | modify | replace-all-with] {
	       [ [name] ] {
		 options:
		   auto-summary [disabled | enabled]
		   distance {
		       external [integer]
		       internal [integer]
		       local [integer]
		   }
		   network-synchronization [disabled | enabled]
		   aggregate-address [add | delete | modify | replace-all-with] {
		      [ [name] ] {
			options:
			  as-set [disabled | enabled]
			  summary-only [disabled | enabled]
		      }
		   }
		   redistribute [add | delete | modify | replace-all-with] {
		      [ [name] ] {
			options:
			  route-map [[string] | none]
		      }
		   }
	       }
	    }
	    distance [add | delete | modify | replace-all-with] {
	       [ [name] ] {
		 options:
		   access-list [[string] | none]
		   distance [integer]
	       }
	    }
	    neighbor [add | delete | modify | replace-all-with] {
	       [ [name] ] {
		 options:
		   advertisement-interval [integer]
		   allow-infinite-hold-time [disabled | enabled]
		   as-origination-interval [integer]
		   capability {
		       dynamic [disabled | enabled]
		       route-refresh [disabled | enabled]
		   }
		   capability-negotiate {
		       override [disabled | enabled]
		       state [disabled | enabled]
		       strict-match [disabled | enabled]
		   }
		   collide-established [disabled | enabled]
		   connect-timer [integer]
		   description [[string] | none]
		   ebgp-multihop [integer]
		   enabled [true | false]
		   enforce-multihop [disabled | enabled]
		   fall-over [[string] | none]
		   graceful-shutdown {
		       mode [disabled | enabled]
		       timer [integer]
		   }
		   hold-time [integer]
		   keep-alive [integer]
		   local-as [integer]
		   passive [disabled | enabled]
		   password [[string] | none]
		   peer-group [[string] | none]
		   port [integer]
		   remote-as [integer]
		   restart-time [integer]
		   update-source [[string] | none]
		   version [integer]
		   vlan [[string] | none]
		   address-family [add | delete | modify | replace-all-with] {
		      [ [name] ] {
			options:
			  activate [disabled | enabled]
			  allow-as-in [[string] | none]
	>>>		  as-override [disabled | enabled]
			  attribute-unchanged {
			      as-path [disabled | enabled]
			      med [disabled | enabled]
			      next-hop [disabled | enabled]
			  }
			  capability {
			      graceful-restart [disabled | enabled]
			      orf {
				  prefix-list [[string] | none]
			      }
			  }
			  default-originate {
			      route-map [[string] | none]
			      state [disabled | enabled]
			  }
			  distribute-list {
			      in [[string] | none]
			      out [[string] | none]
			  }
			  filter-list {
			      in [[string] | none]
			      out [[string] | none]
			  }
			  maximum-prefix {
			      threshold [[string] | none]
			      value [integer]
			      warning-only [disabled | enabled]
			  }
			  next-hop-self [disabled | enabled]
			  prefix-list {
			      in [[string] | none]
			      out [[string] | none]
			  }
			  remove-private-as [disabled | enabled]
			  route-map {
			      in [[string] | none]
			      out [[string] | none]
			  }
			  route-reflector-client [disabled | enabled]
			  route-server-client [disabled | enabled]
			  send-community [[string] | none]
			  soft-reconfiguration-inbound [disabled | enabled]
			  unsuppress-map [[string] | none]
			  weight [[string] | none]
		      }
		   }
	       }
	    }

@RobCupples
Copy link

Thanks. Hope I wasn't too annoying. I was caught off guard by the request for just 1 property when this particular address-family is not currently in DO.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request untriaged Issue needs to be reviewed for validity
Projects
None yet
Development

No branches or pull requests

3 participants