[j-nsp] apply-macro to set named communities on static routes?
Phil Shafer
phil at juniper.net
Fri Jan 29 17:25:48 EST 2016
Chuck Anderson writes:
>On Thu, Jan 28, 2016 at 02:16:52PM -0500, Chuck Anderson wrote:
>> Does anyone know why Junos doesn't accept named communities for static
>> routes? This doesn't work:
>>
>> set routing-options static route 192.0.2.0/24 community TEST
>> set policy-options community TEST members 65000:100
>>
>> Instead we are forced to put the value directly:
>>
>> set routing-options static route 192.0.2.0/24 community 65000:100
>
>Does anyone have any ideas on how to use a commit script to implement
>named communities on static routes? Maybe with apply-macro? I would
>love to see suggestions on how this might be implemented... Thanks!
Something like:
-----------
version 1.2;
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";
import "../import/junos.xsl";
match configuration {
var $top = .;
for-each (routing-options/static/route/apply-macro[name == "community"]) {
var $delta := {
for-each (data/name) {
var $name = .;
for-each ($top/policy-options/community[name == $name]/members) {
<community> .;
}
}
}
if ($delta/community) {
call jcs:emit-change($dot = .., $content = $delta,
$tag = "transient-change");
}
}
}
------------
With this content:
[edit routing-options static route 192.0.2.0/24]
phil at dent# show
apply-macro community {
TEST;
}
next-hop 1.1.1.1;
---------
adds this transient change:
[edit routing-options static route 192.0.2.0/24]
+ community [ 65000:100 100:200 ];
--------------
Thanks,
Phil
More information about the juniper-nsp
mailing list