There are a number of options on a Cisco router for configuring BGP.
You can allow a BGP-speaking router to originate a default route. Typically, this is used by Internet Service Providers wishing to provide their customers with a default route into their network. This option is most frequently used in BGP sessions where the receiver has almost no CPU capacity and/or RAM, and therefore cannot receive a full BGP table.
In this case, an ISP will configure the default-originate option on their side of the BGP session as shown here:
neighbor x.x.x.x remote-as <as-number> neighbor x.x.x.x default-originate neighbor x.x.x.x distribute-list CUSTOMER in
Multi-hop is used to allow two routers that do not share a direct physical connection to establish a BGP peering sesson. The command must appear in the configuration of BOTH SIDES of the BGP session. The Cisco command to enable multi-hop is:
neighbor x.x.x.x remote-as <as-number> neighbor x.x.x.x ebgp-multihop <hop count>
Sometimes the administrator of a remote AS will incorrectly configure their BGP session and will begin leaking routes into your network. Since a peer is normally connected to the Internet, this can be a VERY large number of routes. That large a change in the routing table can frequently overwhelm a router that is running on a thin margin of RAM or CPU load. To prevent this occurance, you can add a 'safety fuse' to the BGP session using the 'maximum-prefix' command.
neighbor x.x.x.x remote-as <as-number> neighbor x.x.x.x maximum-prefix <threshold>
Typically, you will wish to set the maximum prefix threshhold approximately
20% over the usual number of prefixes received. To see the current number
of prefixes received, run the 'show ip bgp sum' command.
BGP normally sumarrizes route announcements along classful boundaries. Using the NO AUTO-SUMMARY command turns this off. This command is not part of a neighbor session, but rather is turned off at the router configuration level (the prompt looks like this: router-name(config-router)# ). Once this is configured, this command will appear at the end of all the neighbor configurations.
router-name(config)# router bgp <as-number> router-name(config-router)# no auto-summary ... router-name# show run ... router bgp <as-number> network x.x.x.x network y.y.y.y neighbor n.n.n.n remote-as <as-number> neighbor n.n.n.n version 4 neithbor n.n.n.n no auto-summary