Решение проблемы оказалось очень простым.
Я создал дополнительные клиентские комьюнити:community CUSTOMER-UPSTREAM-1-EXP members XXXXX:1100
community CUSTOMER-UPSTREAM-1-EXP-1 members XXXXX:1101
community CUSTOMER-UPSTREAM-1-EXP-2 members XXXXX:1102
community CUSTOMER-UPSTREAM-1-EXP-3 members XXXXX:1103
community CUSTOMER-UPSTREAM-1-EXP-4 members XXXXX:1104
community CUSTOMER-UPSTREAM-1-EXP-DENY members XXXXX:1109
community CUSTOMER-UPSTREAM-2-EXP members XXXXX:1110
community CUSTOMER-UPSTREAM-2-EXP-1 members XXXXX:1111
community CUSTOMER-UPSTREAM-2-EXP-2 members XXXXX:1112
community CUSTOMER-UPSTREAM-2-EXP-3 members XXXXX:1113
community CUSTOMER-UPSTREAM-2-EXP-4 members XXXXX:1114
community CUSTOMER-UPSTREAM-2-EXP-DENY members XXXXX:1119
community CUSTOMER-UPSTREAM-3-EXP members XXXXX:1120
community CUSTOMER-UPSTREAM-3-EXP-1 members XXXXX:1121
community CUSTOMER-UPSTREAM-3-EXP-2 members XXXXX:1122
community CUSTOMER-UPSTREAM-3-EXP-3 members XXXXX:1123
community CUSTOMER-UPSTREAM-3-EXP-4 members XXXXX:1124
community CUSTOMER-UPSTREAM-3-EXP-DENY members XXXXX:1129
И добавил их в исходящие политики ПЕРЕД старыми, т.к. политика работает таким образом, что после первого вхождения далее она не обрабатывается:
# show policy-options policy-statement UPSTREAM-1-OUT-v4
...
term 20 {
from community [ UPSTREAM-1-EXP-DENY CUSTOMER-UPSTREAM-1-EXP-DENY ];
then reject;
}
term 50 {
from community CUSTOMER-UPSTREAM-1-EXP;
then accept;
}
term 60 {
from community CUSTOMER-UPSTREAM-1-EXP-1;
then {
as-path-prepend XXXXX;
accept;
}
}
term 70 {
from community CUSTOMER-UPSTREAM-1-EXP-2;
then {
as-path-prepend "XXXXX XXXXX";
accept;
}
}
term 80 {
from community CUSTOMER-UPSTREAM-1-EXP-2;
then {
as-path-prepend "XXXXX XXXXX XXXXX";
accept;
}
}
term 90 {
from community CUSTOMER-UPSTREAM-1-EXP-4;
then {
as-path-prepend "XXXXX XXXXX XXXXX XXXXX";
accept;
}
}
term 100 {
from community [ UPSTREAM-1-EXP ];
then accept;
}
term 110 {
from community [ UPSTREAM-1-EXP-1 ];
then {
as-path-prepend XXXXX;
accept;
}
}
...