to help you, we need to know your networks.
however, in a similar scenario, i think to:
- announce your /21 on 10 mbps peer
- announce your /21 on 4 mbps peer prepending your AS# 1 time
- set default local pref on 10 mbps peer
- set a low local pref on 4 mbps peer
- if supported from 4 mbps peer, set a default local pref on 4 mbps peer for BGP communities that belong to 4 mbps peer.
in this way:
- you use 10 mbps for almost download
- you use 4 mbps for backup download / as with a short path
- you use 10 mbps for upload
- you use 4 mbps peer for upload to 4 mbps peer classes and customer classes.
Another way can be to split the /21 into 4 /23 and:
- announce on 10 mbps peer the aggregated /21 + the first 3 /23
- announce on 4 mbps the aggregated /21 + the last one /23.
In this way backup capability is ok, (aggregated /21), but the first 3 /23 will download from 10 mbps, the last one from the 4 mbps.
Try to change empirically the subnet announced on 4 mbps peer to balance in a good way.
in this scenario the first solution is very simple, but the 4 mbps will be used only a bit.
the second scenario can fullfill the 4 mbps but if a customer or more then one need >4mbps you are fucked