akpw / mktxp

Prometheus Exporter for Mikrotik RouterOS devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dual stack collectors and data sources

vnxme opened this issue · comments

Hi,

First of all, this is an amazing piece of software. @akpw, thank you very much for your effort!

I suggest we could implement dual stack collectors and data sources, so that both IPv4 and IPv6 metrics could be collected.

Below is a list of most evident places in the code where only IPv4 data are collected and IPv6 data are ignored:

Regards,

I'd love to see this happen, too, as I have an ipv6 only network, I primarily need ipv6 metrics.
Maybe, if I'll have the time, I'll give at least /ipv6/route a shot, but I'm no programmer and my stuff will most likely end up being copy & paste from the existing code with minor modifications.

@akpw thank you so much for implementing this exporter and documenting it so well! I came to you, because Mikrotik doesn't seem to have any interest in adding ipv6 monitoring stuff to the existing SNMP support. There is no support for ipv6 BGP neighbors and lot's of other things missing, that you already include. So expanding mtkxp seems to be the best route.

Addding conneciton support to ipv6 only routers and ipv6 route statistics are my biggest pain points as of now.

Thanks again!

Hello @akpw I hope you are well!!

I agree that IPV6 metrics would be best
For my part, I make myself fully available in case you need an environment where you can validate and test the code with real teams.

In my opinion, BGP IPV6 would be good
the ideal would be Dual stack

From now on, more than grateful for the good work you do!

I make myself fully available in case you need an environment where you can validate and test the code with real teams.

@savitarMK OK that sounds good. adding dual stack is easy by itself, though the real life testing might indeed be needed

added initial dual stack for route and few others, feel free to test out and let me know.

Thanks for that @akpw , working great for "simple"access routers with small amount of ipv6 prefixes.

On my backbone routers however, I can't currently use the route feature.
Collecting route-metrics (which means every detail of a route just to count them by type) won't work. It takes to long and throws ugly errors:

2024-05-01 13:42:15 Connection to router r1@2001::a:b::c has failed: ('Malformed sentence %s', [b'ecmp=false\x00', b'uting-table=main\x18=gateway=2001:67c:a00::12=immediate-gw=fe80::5716:2164:2a1e:e102%wg-bb-22-1\r=distance=200\t=scope=', b'3,56997:501\x13=bgp-local-pref=140\x1b=bgp-atomic-aggr', b'e=false\x0c=active=true\t=bgp=true\x13=hw-offloaded=false\x0b= ecmp=false\x00\x03!re\x07.tag=62\r=.id=*28967E0 =dst-address=24', b'nce=200\t=scope=40\x10= [...]

Also it takes too long and times out.

Since you know your code much better than me: is it easy for you to just fetch router counts by for example:

/ip/route/print where connect count-only or /ipv6/route/print where bgp count-only

That would only return the number of prefixes, not every single detail, which won't be used after all.

Thanks in advance,

Johannes

@irrwitzer42 right though unfortunately fetching conditional counts is not as straightforward with the current version of routeros-api library. fyi, I asked a related question there

for now, I did some quick optimisations that might help as well, so feel free to try with the latest

@akpw Thank you so much for trying to implement this approach!

I tried your updated code for one of my backbone routers, but it doesn't help much in my case.
Those routers have full routing tables for IPv4 and ipv6 and it just takes too long to fetch and parse those entries - and I believe it stresses those routers much more than needed. That's why I'd love too see the count-only method.
Maybe it would be easier to just implement the REST-API for this count-only fetch. No need for an external library that implements the API stuff, just using request module to fetch the values. I'll give it a try in my test setup.

For now, thank you again for this great exporter and your very quick response to this feature request!
If have an open PR for two minor fixes, if you haven't already noticed. They came up in my tests and thought you might be interested.

BR,
Irrwitzer

Here's the current log by the way:

Error getting IPv6 routes info from router r1@2001:db8::22: ('Malformed sentence %s', [b'.tag=61\x17=name=r1\x00\x05', b'one\x07.tag=61\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03', b're\x07.tag=60\r=dynamic=true\t=bgp=tru', b'\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c', b'active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=tru', b'\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!r', b'\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=acti', b'e=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00', b'!re', b'.tag=60', b'=dynamic=true', b'=bgp=true']) Hit timeout while scraping router entry: r1 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b're\x07', b'\x03!re\x07.tag=60\x0c=active=true\r=dynami', b'=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=t', b'ue\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=tr', b'e\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=acti', b'e=true\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\r=dynamic=true\t=bgp=true\x00\x03!re\x07.tag=60\x0c=active=true\r=dynamic=true\t=bgp=true\x00', b'!re', b'.tag=60', b'=dynamic=true', b'=bgp=true']) Connecting to router r1@2001:db8::22 2024-05-02 12:49:59 Connection to router r1@2001:db8::22 has been established 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b're\x08', b'tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03', b're\x08.tag=120\r=dynamic=true\t=bgp=tr', b'e\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true', b'=dynamic=true', b'=bgp=true']) Connecting to router r1@2001:db8::22 2024-05-02 12:51:59 Connection to router r1@2001:db8::22 has been established Error getting IPv6 routes info from router r1@2001:db8::22: ('Malformed sentence %s', [b'\x03!re\x08.tag=120\r=dynamic=true\t=bgp=', b'rue\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=t', b'ue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=tru', b'\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=1', b'0\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=tr', b'e\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!', b'e\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t', b'bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03', b're\x08.tag=120\r=dynamic=true\t=bgp=tr', b'e\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true', b'=dynamic=true', b'=bgp=true']) 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b'active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=tr', b'e\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=a', b'tive=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\x0c=active=true\r', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=120\r=dynamic=true\t=bgp=true\x00', b'!re', b'.tag=120', b'=active=true', b'=dynamic=true', b'=bgp=true']) Connecting to router r1@2001:db8::22 2024-05-02 12:53:59 Connection to router r1@2001:db8::22 has been established Error getting system identity info from router r1@2001:db8::22: ('Malformed attribute %s', b'\x03!re\x08.tag=12') 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b're\x08.tag=191\x0c=active=true\r=dynamic', b'true\t=bgp=true\x00\x03!re\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.ta', b'=191\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=t', b'ue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dynamic=true\t=bgp=tru', b'\x00\x03!re\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=1', b'1\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dyn', b'mic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dynamic=true', b'=bgp=true']) Connecting to router r1@2001:db8::22 2024-05-02 12:54:59 Connection to router r1@2001:db8::22 has been established Error getting IPv6 routes info from router r1@2001:db8::22: ('Malformed sentence %s', [b'\x03!r', b'\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=d', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=1', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=dyn', b'mic=true\t=bgp=true\x00\x03!re\x08.tag=191\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=191\r=dynamic=true', b'=bgp=true']) Hit timeout while scraping router entry: r1 Error getting IPv6 routes info from router r1@2001:db8::22: ('Malformed sentence %s', [b'ue\x00', b'.tag=251\x0c=active=true\r=dynamic=tr', b'!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynam', b'\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=', b'ue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=tru', b're\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dy', b'p=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!', b'ive=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=', b'tag=251\r', b'rue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true']) 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b're\x08.tag=251\r=dynamic=true\t=bgp=tr', b're\x08', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'amic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03', b'=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00', b'1\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=tr', b'=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'e\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=d', b'1\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=', b're\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=a', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re', b'=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=', b'!re', b'.tag=251', b'=dynamic=true', b'=bgp=true']) Connecting to router r1@2001:db8::22 2024-05-02 12:56:59 Connection to router r1@2001:db8::22 has been established Error getting system identity info from router r1@2001:db8::22: ('Malformed attribute %s', b'dynamic=true\t') 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b'.tag=251\r=dynamic=true\t=bgp=true\x00', b'.tag=251\x0c=active=true\r=dynamic=tr', b'namic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=', b're\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=a', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re', b'=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=', b'\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=tr', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re', b'=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=', b'\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=tr', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re', b'=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=', b'ue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=tru', b'\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=ac', b'amic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=25', b'ue\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=tr', b'\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=2', b'dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00', b'.tag=251', b'=dynamic=true']) Connecting to router r1@2001:db8::22 2024-05-02 12:58:59 Connection to router r1@2001:db8::22 has been established Error getting system resource info from router r1@2001:db8::22: ('Malformed sentence %s', [b'.tag=251', b'=dynamic=true', b'=bgp=true']) 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed attribute %s', b'tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03') Connecting to router r1@2001:db8::22 2024-05-02 12:58:59 Connection to router r1@2001:db8::22 has been established Error getting system health info from router r1@2001:db8::22: ('Malformed sentence %s', [b'=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00', b'.tag=251\r=dynamic=true\t=bgp=true\x00', b'.tag=251\x0c=active=true\r=dynamic=tr', b'\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active', b'rue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true', b'e\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=tr', b'tive=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=d', b'1\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=', b'ue\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r=dynamic=true\t=bgp=tru', b'1\r=dynamic=true\t=bgp=true\x00\x03!re\x08.tag=251\x0c=active=true\r', b'!re', b'active=true\r']) 2024-05-02 12:47:33 Connection to router r1@2001:db8::22 has failed: ('Malformed sentence %s', [b'active=true\r']) Connecting to router r1@2001:db8::22 2024-05-02 12:58:59 Connection to router r1@2001:db8::22 has been established

added initial dual stack for route and few other

+pool