This would have to be one of the worst ways to "force" carriers to prefer a certain route. There are other ways to achieve what they are looking for.
What are the better ways to influence the incoming traffic?
I have been having this exact same issue since upgrading to v7..
Very little incoming traffic uses the IX, only transit is used.. I think outgoing is fixed now, v7.12 may have "fixed" a few of my outgoing traffic frustrations....?
Full routing table from transit.
Transit out rule, pretty sure this shouldn't be here, should just be on the In rule(?), but I have tried a LOT of things..
if (dst in 192.0.2.0/24 && dst-len == 24) { set bgp-local-pref 50; accept; }
IX out rule, same as above..
if (dst in 192.0.2.0/24 && dst-len == 24) {set bgp-local-pref 150; accept; }
My bottom transit-in rule, rules above this one are for rejecting bogons
set bgp-local-pref 50; set pref-src 192.0.2.1; accept;
My bottom IX rule, same as above
set bgp-local-pref 150; set pref-src 192.0.2.1; accept;
I also tried distance instead of bgp-local-pref, the distance value changes in the /ip/route output but it still didn't use the lower distance before.
To use archive.org,
/ip/route> print where 207.241.224.2 in dst-address
Flags: D - DYNAMIC; A - ACTIVE; s - STATIC, b - BGP
Columns: DST-ADDRESS, GATEWAY, DISTANCE
# DST-ADDRESS GATEWAY DISTANCE
0 As 0.0.0.0/0 198.51.100.193 254
DAb 207.241.224.0/20 203.0.113.9 20
D b 207.241.224.0/20 203.0.113.9 20
D b 207.241.224.0/20 198.51.100.193 20
So, of the "other ways" which are the best?
AS-Path is my first thought, MED a close second.