1. Neighbor
    1. neighbor {ip-address | ipv6-address | peer-group-name} send-community [both | standard | extended]
      1. To specify that a communities attribute should be sent to a BGP neighbor,
    2. neighbor {ip-address | peer-group-name | ipv6-address [%]} route-map map-name {in | out}
      1. To apply a route map to incoming or outgoing routes.
    3. neighbor {ip-address | ipv6-address[%] | peer-group-name} update-source interface-type interface-number
    4. network ip-address backdoor
      1. To specify a backdoor route to a BGP-learned prefix that provides better information about the network.
      2. Works by giving the BGP-learned route an administrative distance of 200.
      3. Applies to routes advertised to this router, not routes advertised by this router.
    5. neighbor ip-address advertise-map map-name {exist-map map-name | non-exist-map map-name}
      1. Installs a Border Gateway Protocol (BGP) route as a locally originated route in the BGP routing table for conditional advertisement.
      2. exist-map
        1. When configuring an exist map, the condition is met when the prefix exists in both the advertise map and the exist map.
      3. non-exist-map
        1. When configuring a nonexist map, the condition is met when the prefix exists in the advertise map but does not exist in the nonexist map.
        2. If a match occurs, then the condition is NOT met and the route is withdrawn.
    6. neighbor {ip-address | peer-group-name} unsuppress-map route-map-name
      1. To selectively advertise routes previously suppressed by the aggregate-address command, use the neighbor unsuppress-map command in address family or router configuration mode.
    7. neighbor {ip-address | ipv6-address | peer-group-name} ebgp-multihop [ttl]
  2. Advertisement
    1. bgp inject-map inject-map exist-map exist-map [copy-attributes]
      1. To configure conditional route injection to inject more specific routes into a Border Gateway Protocol (BGP) routing table.
      2. The exist-map specifies the name of the route map containing the prefixes that the BGP speaker will track.
      3. The copy-attributes keyword configures the injected route to inherit attributes of the aggregate route.
    2. aggregate-address address mask [as-set] [as-confed-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name]
      1. The base command will display the specific routes along with the aggregated route.
      2. The summary-only keyword suppresses the specific routes.
      3. The as-set command is a list of all the ASNs of each of the routes being aggregated, in no particular order, to help prevent routing loops.
      4. The advertise-map specifies the name of the route map used to select the routes to create AS_SET origin communities.
      5. The attribute-map specifies the name of the route map used to set the attribute of the aggregate route.
      6. The suppress-map specifies the name of the route map used to select the routes to be suppressed.
    3. network {network-number [mask network-mask]} [route-map map-tag]
      1. The route-map can be used to filter or set attributes on routes as they are advertised.
      2. The network-number without the mask will result on a match based on the major network boundary.
      3. The mask is used to match a network that doesn't fall on the major network boundary.
      4. In order for BGP to advertise a network number it must already be in the routing table, and does not have to be a directly connected route.
  3. Verification
    1. show ip bgp [ip-address [mask ]]
      1. The aggregated attribute displays from which ASN the prefix was aggregated, and the router-id of the BGP neighbor who did the aggregation.
      2. The atomic-aggregate signals that certain information may be hidden. This attribute is assigned automatically if the "as-set" argument is not used.
    2. show ip bgp dampening parameters
    3. show ip bgp neighbors [ip-address [advertised-routes | routes]]
      1. The advertised-routes keyword displays the routes being advertised to the neighbor.
      2. The routes keyword is the routes that are accepted by the neighbor and are in the BGP routing table.
  4. General
    1. ip community-list {standard | standard list-name} {deny | permit} [community-number] [AA:NN] [internet] [local-AS] [no-advertise] [no-export]
    2. ip extcommunity-list {expanded-list [permit | deny] [regular-expression] | expanded list-name [permit | deny] [regular-expression] | standard-list [permit | deny] [rt value] [soo value] | standard list-name [permit | deny] [rt value] [soo value]}
    3. ip as-path access-list acl-number {permit | deny} regexp
    4. router bgp autonomous-system-number
  5. Attributes
    1. Attributes can be set for a route using a route-map.
    2. set extcommunity cost [igp | pre-bestpath] community-id cost-value
      1. The community-id is the ID for the configured extended community. The range is from 0 to 255.
      2. The cost-value is the configured cost that is set for matching paths in the route map. The range is from 0 to 4294967295.
    3. set community {community-number [additive] [well-known-community] | none}
      1. well-known-community
        1. internet
        2. no-advertise
        3. local-AS
        4. no-export
  6. Dampening
    1. bgp dampening [half-life reuse suppress max-suppress-time | route-map map-name]
      1. half-life
        1. Once the route has been assigned a penalty, the penalty is decreased by half after the half-life period.
        2. The process of reducing the penalty happens every 5 seconds.
        3. The range of the half-life period is 1 to 45 minutes.
        4. The default is 15 minutes.
      2. reuse
        1. If the penalty for a flapping route decreases enough to fall below this value, the route is unsuppressed.
        2. If the penalty for a flapping route decreases enough to fall below this value, the route is unsuppressed.
        3. The process of unsuppressing routes occurs at 10-second increments.
        4. The range of the reuse value is from 1 to 20000.
        5. The default is 750.
      3. suppress
        1. A route is suppressed when its penalty exceeds this limit.
        2. The range is from 1 to 20000.
        3. The default is 2000.
      4. max-suppress-time
        1. Maximum time (in minutes) a route can be suppressed.
        2. If the half-life value is allowed to default, the maximum suppress time defaults to 60 minutes.
        3. When the max-suppress-time is configured, the maximum penalty will never be exceeded, regardless of the number of times that the prefix dampens.
        4. The maximum penalty is computed with the following formula: Maximum penalty = reuse-limit *2^(maximum suppress time/half time)
      5. route-map
        1. Specified the name of the route map that controls where BGP route dampening is enabled.
  7. Load Balancing
    1. maximum-paths eibgp number-of-paths [import number-of-import-paths]
    2. maximum-paths ibgp number-of-paths
    3. bgp dmzlink-bw
      1. Configure BGP to distribute traffic proportionally over external links with unequal bandwidth when multipath load balancing is enabled.
    4. neighbor ip-address dmzlink-bw
      1. Configure Border Gateway Protocol (BGP) to advertise the bandwidth of links that are used to exit an autonomous system.