No, your example with the existing variable is perfect. Thanks!
On 18 Feb 2017, 17:34 +0100, Lennert Buytenhek <buytenh@wantstofly.org>, wrote:
On Sat, Feb 18, 2017 at 05:20:15PM +0100, Job Snijders wrote:
Hi,
Goedemiddag!
Can you make the LOCAL_PREF something that can be matched on? Example:
if ! bgp_path.local_pref = 80 then {
bgp_local_pref = 100;
}
This way one can limit the influence of the adjacent neighbor to either
80 or 100 (default).
You can match against the existing variable and change it:
protocol bgp peer_a {
ebgp localpref rx;
import filter {
if bgp_local_pref = 12349 then {
print "changing it";
bgp_local_pref = 54321;
}
accept;
};
[...]
}
===
2017-02-18 18:28:35 <TRACE> a: Got UPDATE
2017-02-18 18:28:35 <INFO> changing it
bird> show route all
0.0.0.0/0 via 172.17.76.1 on eth0 [a 18:28:35] * (100) [AS1i]
Type: BGP unicast univ
BGP.origin: IGP
BGP.as_path: 1
BGP.next_hop: 172.17.76.1
BGP.local_pref: 54321
===
Are you asking for a variable that records the received LOCAL_PREF that
is separate from bgp_local_pref?
Cheers,
Lennert