Comments (4)
from bgpq3.
This is an interesting situation. The -A flag (or a request to aggregate) could be interpreted in two different ways.
- There's aggregation in the form of how the originating network decides it wants to aggregate.
- There's aggregation where it means "I (the operator of the filters) want to aggregate, independent of the originating network, in how I create filters.
Both of you are right. Presently the code and it's -A flag means the first item above. However, there's a case to be made for a second/different flag to implement the second case.
In fact there's even a case when aggregation should always be used; both for router optimization and for terseness of filter output. It took a while to find a good example of this; but I think this ASN could show a valid case (just ignore the /24 for now).
$ bgpq3 -JE -l foo AS201890
policy-options {
policy-statement foo {
replace:
from {
route-filter 188.123.112.0/22 exact;
route-filter 188.123.112.0/23 exact;
route-filter 188.123.113.0/24 exact;
route-filter 188.123.114.0/23 exact;
}
}
}
$
wth the -A aggregate flag you get less output:
$ bgpq3 -JEA -l foo AS201890
policy-options {
policy-statement foo {
replace:
from {
route-filter 188.123.112.0/22 upto /23;
route-filter 188.123.113.0/24 exact;
}
}
}
$
What I'm trying to show, with this ASN, is that because there's two /23's and one /22 one can always aggregate into one line (the upto /23 part).
Back to the question in hand.
I also believe there's a case (as shown by @anuragbhatia above) where a set of (lets say, his four /24's) could be aggregated by bgpq3 into a single /22 and accept any route within any of the /22 space. This is very much up to the operator of the filters vs. the originator of the routes. The automatic aggregation is very specific to the filter operator.
If this was implemented; I would vote for a different command line flag than the existing -A flag.
BTW: There's a good example of complex filtering based on mask length in the real world. The INEX Internet Exchange in Dublin Ireland has very strict filtering on it's route server. However many other Internet Exchanges are less strict and accept upto /24 automatically. Either way - the request above is more about filter optimization.
from bgpq3.
from bgpq3.
close for inactivity
from bgpq3.
Related Issues (20)
- FATAL ERROR:EOF from RADB (dequeue, ripe) Exit Code 255 HOT 2
- Clarify Nokia (classic CLI) options HOT 2
- Feature Request: Do not print anything if 0 objects received HOT 4
- bgpq3 exit code is 255, stderr: b'FATAL ERROR:select timeout\n' HOT 2
- Limitations of bgpq3 -S HOT 1
- filter route and AS (possible feature request) HOT 2
- Rationale behind the recommended sources HOT 1
- Cisco IOS XR format lacks one space in indentation HOT 1
- Sequence numbers not respected with empty result HOT 1
- Subnet length wrong HOT 3
- Uncorrected as-patch filter for Huawei HOT 1
- Possibility of tagging a new release HOT 1
- Add BGPQ3 to Arista EOS HOT 5
- Allow generation of combined IPv4/IPv6 lists HOT 3
- About the operation when multiple database sources are specified by'-S flag'
- BSD-3 files
- Invalid symbol in ASN errors HOT 1
- Certain prefixes that show up in the RIPE GUI don't get outputted by BGPq3 when the ASSet is queried HOT 8
- missing some prefixes HOT 11
- Install on ASR9K
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bgpq3.