Jeff,
Does the router with the OC-12 have other eBGP sessions? Also, is the
customer a BGP customer? Everyone keeps talking about their feed, but I
haven't seen you mention BGP with the customer. Anyway, if you can connect
the OC-12 and the customer to the same router, then outbound traffic
vectoring is quite easily accomplished with BGP alone. Simply increase the
weight attribute of all routes from this OC-12 peering. Or, set the LPREF
high on the ebgp session and a lower LPREF on all iBGP sessions. Or, set
the LPREF the same throughout the AS and rely on administrative distance and
igp cost to force traffic out the OC-12.
If you want return traffic to flow back across this link, then depreference
the route(s) upstream using communities (most NSPs support the provider
backup setting, usually <ASN>:70), which, assuming your upstreams are well
connected and exchanging routes, will redirect all or most of the traffic
across the OC-12. Or, you can use the good old AS-PATH padding, which is a
little less deterministic, but won't bounce traffic around too much across
your upstreams mutual peering connections. This is quite common among the
RBOCs, actually, because of regulation and anti-slamming and other silly
things.
A second note of caution: Using route depreferencing vs AS-PATH padding may
cause certain peering connections between your upstreams to become quite
saturated, particularly at OC-12 speeds. However, it will force all, or
under certain policies, nearly all of the return traffic to a set of NLRI
across the circuit you choose, as long as your upstreams are well connected
to one another, allow customer depreferencing through communities, and treat
peer routes as worse than customer routes, but better than customer backup
routes.
regards,
-chris
(speaking on my own behalf using my own views)