List Info

Thread: Junoscript API




Junoscript API
user name
2006-06-16 00:40:10
Has anyone done any work with using junoscript/netconf while
handling 
large datasets? I'm currently trying to use the perl API
(ick) interface 
provided by Juniper just to do a "show route
receive-protocol bgp x.x.x.x 
detail table inet.0", but I'm encountering some
pretty absurd memory 
requirements.

For example, receiving a full transit table of approx 180k
routes consumes 
around 900MB of memory. I know XML sucks hairy donkey balls
and all, but 
900MB seems a little excessive even for poorly encoded XML
and a crappy 
implementation. In the interests of laziness (and not having
to redo this 
API with SAX instead of DOM), I'm wondering if this is
something that 
other people have encountered and dealt with or not? 

Just doing:

my %queryargs = (
        "receive-protocol-name" =>
"bgp",
        "peer"                  =>
"x.x.x.x",
        "table"                 =>
"inet.0",
        "detail"                => 1
);

my $doc = $jnx->get_route_information(%queryargs);

An example of the returned data for a single route (I
recommend skipping 
over that as-path tag if you've just eatten lunch):

<rt junos:style="bgp-detail">
<rt-destination>x.x.x.x</rt-destination>
<rt-prefix-length>17</rt-prefix-length>
<rt-entry-count junos:format="9
entries">9</rt-entry-count>
<rt-announced-count>1</rt-announced-count>
<rt-state>OnList NoChange</rt-state>
<rt-entry>
<active-tag> </active-tag>
<protocol-name>BGP</protocol-name>
<nh>
<to>x.x.x.x</to>
</nh>
<as-path>701 1239 4323 13471 I (Originator) Cluster
list:  64.142.1.30 Originator ID:
64.142.1.33</as-path>
<communities>
<community>2152:25664</community>
<community>2152:65298</community>
<community>2152:65436</community>
<community>2152:65438</community>
<community>2152:65439</community>
<community>2152:65498</community>
<community>2152:65511</community>
<community>2153:65418</community>
<community>2153:65436</community>
<community>2153:65438</community>
</communities>
</rt-entry>
</rt>

-- 
Richard A Steenbergen <rase-gerbil.net>       http://www.e-gerbil.net/r
as
GPG Key ID: 0xF8B12CBC (7535 7F59 8204 ED1F CC1C 53AF 4C41
5ECA F8B1 2CBC)
_______________________________________________
juniper-nsp mailing list juniper-nsppuck.nether.net
h
ttp://puck.nether.net/mailman/listinfo/juniper-nsp
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )