Hi everyone!
I need help solving a problem ...
The configuration below works correctly, but there are problems.
I have 3 upstreams ISP - UPSTREAM-1, UPSTREAM-2, UPSTREAM-3
My network:
# show routing-options
static {
route yyy.yyy.0.0/16 {
discard;
community [ XXXXX:100 XXXXX:111 XXXXX:120 ];
}
community UPSTREAM-1-EXP members XXXXX:100
community UPSTREAM-1-EXP-1 members XXXXX:101
community UPSTREAM-1-EXP-2 members XXXXX:102
community UPSTREAM-1-EXP-3 members XXXXX:103
community UPSTREAM-1-EXP-4 members XXXXX:104
community UPSTREAM-1-EXP-8 members XXXXX:108
community UPSTREAM-1-EXP-DENY members XXXXX:109
community UPSTREAM-2-EXP members XXXXX:110
community UPSTREAM-2-EXP-1 members XXXXX:111
community UPSTREAM-2-EXP-2 members XXXXX:112
community UPSTREAM-2-EXP-3 members XXXXX:113
community UPSTREAM-2-EXP-4 members XXXXX:114
community UPSTREAM-2-EXP-8 members XXXXX:118
community UPSTREAM-2-EXP-DENY members XXXXX:119
community UPSTREAM-3-EXP members XXXXX:120
community UPSTREAM-3-EXP-1 members XXXXX:121
community UPSTREAM-3-EXP-2 members XXXXX:122
community UPSTREAM-3-EXP-3 members XXXXX:123
community UPSTREAM-3-EXP-4 members XXXXX:124
community UPSTREAM-3-EXP-8 members XXXXX:128
community UPSTREAM-3-EXP-DENY members XXXXX:129
Out BGP policy:
# show policy-options policy-statement UPSTREAM-1-OUT-v4
...
term 20 {
from community [ UPSTREAM-1-EXP-DENY ];
then reject;
}
term 30 {
from community [ UPSTREAM-1-EXP ];
then accept;
}
term 40 {
from community [ UPSTREAM-1-EXP-1 ];
then {
as-path-prepend XXXXX;
accept;
}
}
term 50 {
from community [ UPSTREAM-1-EXP-2 ];
then {
as-path-prepend "XXXXX XXXXX";
accept;
}
}
term 60 {
from community [ UPSTREAM-1-EXP-3 ];
then {
as-path-prepend "XXXXX XXXXX XXXXX";
accept;
}
}
term 70 {
from community [ UPSTREAM-1-EXP-4 ];
then {
as-path-prepend "XXXXX XXXXX XXXXX XXXXX";
accept;
}
}
term 80 {
from community [ UPSTREAM-1-EXP-8 ];
then {
as-path-prepend "XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX";
accept;
}
}
term 100 {
then reject;
}
To change the number of prepends, I change the community to routing-options static.
This scheme works well, but there was a problem that I still can't solve.
How can I give my client the ability to balance traffic with the help of the community?
When he announces a community to me, for example, XXXXX:103, then this community is added to mine:
run show route zz.zz.zz.0/22 detail
......
Communities: XXXXX:100 XXXXX:111 XXXXX:120 XXXXX:103
But, I need:
run show route zz.zz.zz.0/22 detail
......
Communities: XXXXX:103 XXXXX:111 XXXXX:120
How can I change my configuration to allow the client to properly use the community for traffic balancing?
The problem is that the network advertised by the client may be part of my networks yyy.yyy.0.0/16.
P.S. Sorry for my English. it isn't my native language.