Skip to Content.

rare-users - Re: [gn4-3-wp6-t1-wb-RARE] Juniper gRPC experiences

Subject: RARE user and assistance email list

List archive


Re: [gn4-3-wp6-t1-wb-RARE] Juniper gRPC experiences


Chronological Thread 
  • From: mc36 <>
  • To: Erik Reid <>
  • Cc: Rick Havern <>, "" <>
  • Subject: Re: [gn4-3-wp6-t1-wb-RARE] Juniper gRPC experiences
  • Date: Fri, 26 Mar 2021 18:03:51 +0100

hi,

thanks for reaching out, i have bad and good news....

i personally have almost zero junos operational experience, we're a cisco
shop here... but we also
have some bugs and feature requests that will never get satisfied so we can
say we're also unhappy...

i personally heavily interop test with junos too, take a look on a junos'
not-yet-released bier feature:
http://www.freertr.net/present/ietf110.pdf it have some screenshots you'll
hopefully have in the upcoming years...
i just mention that because all that we're doing can happen over whitebox
switches who have 32x100g, 64x100g, 32x400g, etc...
regarding the control plane, we had the fortune to become part of your core
isis, from that point we have some info (below)

and yess, rare/freertr have a streaming telemetry exporter too, so i have
some idea how it have to work:
first of all, you define what you're interested in, and the interval... you
mentioned snmp so i assume
now you subscribed to the interface stats... in rare, the dataplane's
middleware reports these in every
second, the route, label, nat, acl, gre, pppoe, etc counters in every 30
seconds. from that, the control
plane generates the telemetry reports, and that's all. one can generate the
reports from the line cards
but we need the asic space for new features.. :) formatting the reports into
various formats...
at the moment we do xr's streaming telemetry, consumed by influx's xr plugin,
prometheus, or netconf...
is not a big deal for a proper imlementation, having the whole report takes
less than 300ms
and you reported almost a million counters... protobuf is a nice binary
protocol...

if you have interest, we can already export you your igp stats in those
formats... if you provide us
some bmp or bgp feeds, we also can deal with that and give back some stats
from those too... and if you
miss a stat, it'll arrive soon if it's feasible... we're more than happy to
fulfill a feature request....
back in time, niall expressed that you're interested in a per/pop per/node
per/peer prefix drop stats,
a week passed and since then we're ready to stream that info too... :)

and finally, if you're brave enough, you can implement a rare/freertr box to
have traffic stats too... :)

regards,
cs







freertr#show logging last 1000 | include establ
2021-03-26 11:43:35 warning util.shrtPthFrst.doCalc:shrtPthFrst.java:535 node
mx1.lon2.uk.re0 established connection to mx1.dub2.ie.re0
2021-03-26 11:43:35 warning util.shrtPthFrst.doCalc:shrtPthFrst.java:535 node
mx1.dub2.ie.re0 established connection to mx1.lon2.uk.re0
2021-03-26 12:58:47 warning util.shrtPthFrst.doCalc:shrtPthFrst.java:535 node
mx1.poz.pl.re0 established connection to mx1.fra.de.re0
2021-03-26 12:58:47 warning util.shrtPthFrst.doCalc:shrtPthFrst.java:535 node
mx1.fra.de.re0 established connection to mx1.poz.pl.re0
2021-03-26 17:39:55 info user.userReader.cmdEnter:userReader.java:745 command
freertr#show logging last 1000 | include establ from telnet #153556583 23 ->
10.255.255.1 38482

freertr#
freertr#show ipv4 isis 1 tree 2
`--freertr
`--mx1.par.fr.re0
|`--mx1.gen.ch.re0
| |`--mx1.mil2.it.re0
| | |`--mx2.lju.si.re0
| | | `--mx2.lju.si.re0-VRR
| | |`--mx2.ath.gr.re0
| | | `--mx1.ath2.gr.re0
| | `--mx1.vie.at.re0
| | |`--mx2.zag.hr.re0
| | |`--mx2.bra.sk.re0
| | |`--mx1.sof.bg.re0
| | `--mx1.bud.hu.re0
| | `--mx1.buc.ro.re0
| |`--mx1.mar.fr.re0
| `--mx1.fra.de.re0
| |`--mx1.ham.de.re0
| | `--rt2.tal.ee.re0
| | |`--mx2.tal.ee.re0
| | | `--mx1.tal.ee.re0
| | `--rt1.tal.ee.re0
| | `--rt2.rig.lv.re0
| | |`--rt1.rig.lv.re0
| | `--mx2.rig.lv.re0
| |`--mx1.pra.cz.re0
| `--mx1.poz.pl.re0
| `--rt2.kau.lt.re0
| |`--mx2.kau.lt.re0
| | `--mx1.kau.lt.re0
| `--rt1.kau.lt.re0
|`--mx1.mad.es.re0
| `--mx2.lis.pt.re0
| |`--mx1.lis.pt.re0
| `--rt1.por.pt.re0
|`--mx1.lon2.uk.re0
| |`--mx1.lon.uk.re0
| | |`--mx2.bru.be.re0
| | |`--mx1.ams.nl.re0
| | `--rt2.ams.nl.re0
| `--mx1.dub2.ie.re0
| `--mx1.dub.ie.re0
|`--rt1.bil.es.geant.net
`--mx1.par.fr.re0-VRR

freertr#
freertr#show ipv6 segrout geant
prefix index base oldbase
2001:798:10:20ff::1/128 6707 272 272
2001:798:12:20ff::1/128 6714 272 272
2001:798:13:20ff::1/128 6702 272 272
2001:798:14:20ff::1/128 6712 272 272
2001:798:16:20ff::3/128 6601 272 800000
2001:798:16:20ff::4/128 6602 272 800000
2001:798:17:20ff::1/128 6716 272 272
2001:798:18:20ff::3/128 6713 272 272
2001:798:19:20ff::1/128 6611 272 800000
2001:798:1b:20ff::1/128 6701 272 800000
2001:798:1e:20ff::3/128 6715 272 272
2001:798:1f:20ff::3/128 6605 272 800000
2001:798:1f:20ff::4/128 6606 272 800000
2001:798:21:20ff::4/128 6604 272 800000
2001:798:22:20ff::3/128 6711 272 272
2001:798:23:20ff::1/128 6710 272 800000
2001:798:28:20ff::1/128 6705 272 272
2001:798:2b:10ff::3/128 6619 272 800000
2001:798:2b:20ff::2/128 6620 272 800000
2001:798:2c:10ff::2/128 6621 272 800000
2001:798:2d:20ff::2/128 6608 272 800000
2001:798:2f:20ff::1/128 6616 272 800000
2001:798:2f:20ff::2/128 6617 272 272
2001:798:32:20ff::2/128 6610 272 800000
2001:798:33:20ff::2/128 6704 272 800000
2001:798:aa:1::1/128 6603 272 800000
2001:798:aa:1::2/128 6625 272 800000
2001:798:aa:1::3/128 6626 272 800000
2001:798:aa:1::4/128 6612 272 800000
2001:798:aa:1::5/128 6615 272 272
2001:798:aa:1::a/128 6639 272 272
2001:798:aa:1::c/128 6662 272 272
2001:798:aa:1::d/128 6642 272 272
2001:798:aa:1::17/128 6650 272 272
2001:798:aa:1::18/128 6652 272 272
2001:798:aa:1::19/128 6653 272 272
2001:798:aa:1::1e/128 6658 272 272
2001:798:aa:1::1f/128 6659 272 272
2001:798:aa:1::20/128 6657 272 272
2001:798:aa:1::22/128 6642 272 272

freertr#




On 3/26/21 5:18 PM, Erik Reid wrote:
Hello Csaba,

I heard from Rick Havern that you have experience with gRPC and maybe in
particular Juniper streaming telemetry …?

He may have told you how we’ve worked on replacing our SNMP/polling-based
counter/state/properties system with streaming telemetry.

For the most part we were quite successful, and found the technology easy to
use.  But there are a few issues (major and minor) that are preventing us
from making a total switch.

The blocking issue for now is that our routers started generating “JLOCK hog” errors.  This was with 9 clients connected to each router, but all streams were configured with only 60s frequency, so I wouldn’t have thought this load to be especially heavy.  Our operations team traced this to the gRPC service and Juniper confirmed this.  They considered this critical and have shut down gRPC for the time being.

Another big issue is that our operations team has defined several of the important peering sessions we’d like to monitor in logical systems.  When I discovered that we were not getting telemetry from these interfaces and sessions, we raised a ticket with Juniper and got a one-line response: “Streaming Telemetry is not support in logical systems”.  We’ve raised an enhancement request but have no feedback so far.

There are a few other less severe issues, and some are on the software side.  For example, we’ve been using telegraf with the jti_openconfig_telemetry plugin as our clients, and it’s relatively stable although there’s an issue with stability when authentication sessions fail.

Do you have experience with any of these situations or tools?  Do you have
any advice or lessons learned that you can share?

Regards,

Erik Reid

Solution Architect

GÉANT



  • Re: [gn4-3-wp6-t1-wb-RARE] Juniper gRPC experiences, mc36, 03/26/2021

Archive powered by MHonArc 2.6.19.

Top of Page