IIRC, this has come up on cisco-nsp before, and the response has been that it's very "icky" to do and doesn't really save anything on most platforms.
In the example case of
1) 192.168.0.0/16 AS11111 AS22222 AS33333 2) 192.168.1.0/24 AS11111 AS22222 AS33333 3) 192.168.2.0/24 AS11111 AS55555 AS44444 AS33333 4) 192.168.3.0/24 AS11111 AS22222 AS33333
Forrest says the router should be smart and reject paths 2 and 4 because they're covered by 1. Now what happens when 1 is revoked? Do we lose connectivity to 2 and 4, or does the router have to keep track of all these dependant routes and reinstall 2 and 4 when 1 is lost?
Based on what seems to be reported by the CIDR-REPORT, I would say that if #1 is revoked then it's likely all of the routes with the same AS Path will be revoked anyway. But if not, rather than the router having to recalculate whether the more specifics should or should not be accepted at each routing update, you could apply the same principles that route flap dampening uses. Reject paths #2 and #4 for X number of minutes before you bother checking again to see if the larger aggregate is still there.
The problem with this is that if you reject the routes initially and then later need them, then they're not in your incoming BRIB to reconsider. BGP is an incremental protocol. You can either save an update or you can ignore it, but if you ignore it, it's just plain gone. If you do save it in your BRIB, then you can do this filtering between RIB and FIB. That turns out to be a completely local feature, requiring no protocol changes or additions whatsoever, and thus does not even require an RFC or Internet draft. This feature has been seen in some circles under the name "ORIB". Ask YFRV's PM for it. ;-) Note that this feature *is* CPU intensive. This also does not decrease the RP RAM usage the way that update filtering would. In fact, due to the overhead of tracking filtered and non-filtered prefixes, there is additional RP RAM usage. YMMV. Tony