Advertise filters v6 vs v7 (differences)

Hi all wonder if there's any difference between the advertise filers in RouterOSv6 and RouterOSv7, so far our scenario includes several CPEs running on v6 connected back to a couple of big routers (CCR1072 running v6), everything works as expected, all of our CPEs have some MPLS advertise-filter rules, but there's a small percentage 5% that those filters are not accurate (we catch them roughly, so they're not properly identified), we're talking about >1K routers.

Our goal is to upgrade those 1072 to CCR2216 running v7, our first try was unsuccessful, because for some reason those labels that were filtered in the advertise-filter on each CPE are now taking effect in the 2216, so there's no label for that prefix until that advertise-filter rule is properly set to send that label across the path.

Some show commands: (at the CCR2216 with v7)

[admin@ccr2216] > mpls ldp remote-mapping/print where dst-address=192.168.64.0/30
Flags: I - INACTIVE; D - DYNAMIC
Columns: VRF, DST-ADDRESS, LABEL, PEER

VRF DST-ADDRESS LABEL PEER

29 ID main 192.168.64.0/30 35 x.x.x.2:0. (that peer is the P router acting as core)
[system@Conc-X-lab] > /mpls ldp neigh print detail


[admin@ccr2216] > /mpls ldp neigh print detail
Flags: X - disabled, D - dynamic, I - inactive;
O - operational, C - active-connect, W - passive-wait, T - throttled;
t - sending-targeted-hello; v - vpls; p - passive; d - on-demand
0 DO p transport=x.x.x.120 peer=x.x.x.120:0 local-transport=x.x.y.19
addresses=x.x.x.120,x.x.y.120,w.w.w.9,192.168.64.1
path-vector-limit=0 on-demand=no used-afi=ip

Some show commands: (at the CPE with v6)
/mpls ldp advertise-filter
add prefix=x.x.x.120/32
add prefix=x.x.y.120/32
add prefix=w.w.w.w.8/30
add advertise=no


When adding the command to the CPE -> /mpls ldp advertise-filter add prefix=192.168.64.0/30 & restarting the LDP neighbors, this is the result:

[admin@ccr2216] > mpls ldp remote-mapping/print where dst-address=192.168.64.0/30
Flags: I - INACTIVE; D - DYNAMIC
Columns: VRF, DST-ADDRESS, NEXTHOP, LABEL, PEER

VRF DST-ADDRESS NEXTHOP LABEL PEER

29 ID main 192.168.64.0/30 35 x.x.x.2:0 . (that peer is the P router acting as core)
37 D main 192.168.64.0/30 x.x.x.9 impl-null x.x.x.120:0. (that's the CPE)

You need to set advertise=yes, because default assumed value is “no”.

1 Like

Thanks, but then problem is when the advertise filter is not allowing a prefix for some reason and don’t know why, that advertise filter rule is not filtering anything advertised to the big router (under v6), but when the big router went to v7 it was catching those filters and applying them to the remote-binding table and removing them from there.

Answer to myself in the past and for anybody looking for the same question:

  • LDP advertise filters are needed if the CPE is part of the MPLS LSP, without them, LDP creates & advertise labels for the entire routing table learnt through any IGP and static and connected creating a quite big binding table.

Mikrotik v7 now shows the forwarding table as part of the routing table so that’s an important piece of the configuration, if that MPLS forwarding table is big enough it can eat the memory or keep the cpu running high causing some packet loss.

LDP filter advertisements in v7.19.6 and so on works as expected so far, just double checked the config and advertise=yes (as mrz suggested) is needed in v7:

/mpls ldp advertise-filter
add advertise=yes disabled=no prefix=x.x.x.x/32
add disabled=no prefix=0.0.0.0/0