add chain=from_rds disabled=no rule="if (dst-len>-1) {set distance 50; accept}"
add chain=to_rds disabled=no rule="if (dst-len>-1) {reject}" comment="Should not be needed - default is to reject"
add chain=to_telekom disabled=no rule="if (dst-len>-1) {reject}" comment="Should not be needed - default is to reject"
Let me know if that works for you.
Edited: I noticed that the first version did not cover the default route. Fixed by changing “0” with “-1”.
Don’t get hung up on just checking the filter rules,
just because you think that’s where the mistake lies.
Maybe the rest of the address-list configuration in the firewall and the other BGP parameters can be also wrong…
Simple test: remove all filters.
On default, if a filter is present, the action is reject,
but on default, if filter is not present, is accept,
so if the filters are the problems, removing all filters produce a working BGP peer, but if still not work, the problem is (also) elsewhere…
I tried with your modified rules but with no luck.
When I disable this rule:
chain=from_telekom disabled=no rule=“if (dst == 0.0.0.0/0) { set bgp-weight 100; set bgp-local-pref 120; accept; }”
I dont have internet on the router either. Seems like that it’s working only bgp from one provider.
I have disabled all the filters but in this case it shows BGP connections up from both providers with no internet access on router or computer.
In ros7 it should be any aditional rule in route list?
Can you post the route filters you have here, as well as the output of /ip route print when you disable the rule for the default in the chain from_telekom?
Remember that in v6 when a chain of filters ends, the default action is “accept”. In v7, the default action at the end is “reject”.
So, when you had filters in v6 that only modify some BGP parameters or rejected some networks, it would work because the implicit accept at the end accepts the routes. In v7 you need an explicit rule that does rule=“accept;” at the end to make it work the same way.