You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi Guys,
I integrated FRR with sysrepo and netopeer2, they works well.
I can read and configure isis through netconf, and I can subscribe and receive notification from FRR like this:
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"><eventTime>2024-08-23T04:52:07.431903252+00:00</eventTime><lsp-received xmlns="http: //frrouting.org/yang/isisd"><routing-instance>default</routing-instance><routing-protocol-name>10</routing-protocol-name><isis-level>level-2</isis-level><interface-name>tun99</interface-name><interface-level>level-2</interface-level><extended-circuit-id>0</extended-circuit-id><lsp-id>1720.1601.1006.00-03</lsp-id><sequence>5428</sequence><received-timestamp>1724388727</received-timestamp><neighbor-system-id>1720.1601.1006</neighbor-system-id></lsp-received></notification>
Now, I want to read the FIB (which is shown with command "show ip route table") and ISIS Link-State(which is shown with command "show isis database detail") through netconf.
NOTE: on my testbed, there are many records shown by bellow commands:
"show ip route table"
"show isis database detail"
I tried to
(a) use NETCONF RPC to read FIB
<?xml version="1.0" encoding="utf-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-route-information xmlns="http://frrouting.org/yang/zebra">
<fib-routes/>
</get-route-information>
</rpc>
But, the server return bellow error "'User callback failed.'"
The full rpc-reply is:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"><rpc-error><error-type>application</error-type><error-tag>operation-failed</error-tag><error-severity>error</error-severity><error-message xml:lang="en">Operation failed</error-message></rpc-error><rpc-error><error-type>application</error-type><error-tag>operation-failed</error-tag><error-severity>error</error-severity><error-message xml:lang="en">User callback failed.</error-message></rpc-error></rpc-reply>
(b) use NETCONF get-config to read state defined in frr-interface.yang
<?xml version="1.0" encoding="utf-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter type="subtree">
<lib xmlns="http://frrouting.org/yang/interface">
<interface>
<name>tun99</name>
<state/>
</interface>
</lib>
</filter>
</get-config>
</rpc>
But, the response is:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"><data/></rpc-reply>
(c) use NETCONF get-config to read state defined in frr-vrf.yang
<?xml version="1.0" encoding="utf-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter type="subtree">
<lib xmlns="http://frrouting.org/yang/vrf">
<vrf>
<name>default</name>
<state/>
</vrf>
</lib>
</filter>
</get-config>
</rpc>
(d) I read all user guide and developer guide, searched via goggle, but seems that FRR need to develop so called "callback" for sysrepo to return such data to netconf client.
I am wondering how to read LinkState of ISIS and RIB/FIB from FRR through netconf protocol?
Would you please give me a tip or link about the answer if there is?
Version
FRRouting 10.1-dev-terra-build (terra-frr) on Linux(6.6.32-linuxkit).
How to reproduce
refer to the rpc and rpc-reply in above description.
Expected behavior
The RPC returns correct FIB without error
the FIB and ISIS State are returned.
Actual behavior
RPC returns error
the FIB and ISIS State data are empty.
Additional context
No response
Checklist
I have searched the open issues for this bug.
I have not included sensitive information in this report.
The text was updated successfully, but these errors were encountered:
Description
Hi Guys,
I integrated FRR with sysrepo and netopeer2, they works well.
I can read and configure isis through netconf, and I can subscribe and receive notification from FRR like this:
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"><eventTime>2024-08-23T04:52:07.431903252+00:00</eventTime><lsp-received xmlns="http: //frrouting.org/yang/isisd"><routing-instance>default</routing-instance><routing-protocol-name>10</routing-protocol-name><isis-level>level-2</isis-level><interface-name>tun99</interface-name><interface-level>level-2</interface-level><extended-circuit-id>0</extended-circuit-id><lsp-id>1720.1601.1006.00-03</lsp-id><sequence>5428</sequence><received-timestamp>1724388727</received-timestamp><neighbor-system-id>1720.1601.1006</neighbor-system-id></lsp-received></notification>
Now, I want to read the FIB (which is shown with command "show ip route table") and ISIS Link-State(which is shown with command "show isis database detail") through netconf.
NOTE: on my testbed, there are many records shown by bellow commands:
I tried to
(a) use NETCONF RPC to read FIB
<?xml version="1.0" encoding="utf-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-route-information xmlns="http://frrouting.org/yang/zebra">
<fib-routes/>
</get-route-information>
</rpc>
But, the server return bellow error "'User callback failed.'"
The full rpc-reply is:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"><rpc-error><error-type>application</error-type><error-tag>operation-failed</error-tag><error-severity>error</error-severity><error-message xml:lang="en">Operation failed</error-message></rpc-error><rpc-error><error-type>application</error-type><error-tag>operation-failed</error-tag><error-severity>error</error-severity><error-message xml:lang="en">User callback failed.</error-message></rpc-error></rpc-reply>
(b) use NETCONF get-config to read state defined in frr-interface.yang
<?xml version="1.0" encoding="utf-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter type="subtree">
<lib xmlns="http://frrouting.org/yang/interface">
<interface>
<name>tun99</name>
<state/>
</interface>
</lib>
</filter>
</get-config>
</rpc>
But, the response is:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"><data/></rpc-reply>
(c) use NETCONF get-config to read state defined in frr-vrf.yang
<?xml version="1.0" encoding="utf-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<get-config>
<source>
<running/>
</source>
<filter type="subtree">
<lib xmlns="http://frrouting.org/yang/vrf">
<vrf>
<name>default</name>
<state/>
</vrf>
</lib>
</filter>
</get-config>
</rpc>
But, the response is still:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1"><data/></rpc-reply>
(d) I read all user guide and developer guide, searched via goggle, but seems that FRR need to develop so called "callback" for sysrepo to return such data to netconf client.
I am wondering how to read LinkState of ISIS and RIB/FIB from FRR through netconf protocol?
Would you please give me a tip or link about the answer if there is?
Version
How to reproduce
refer to the rpc and rpc-reply in above description.
Expected behavior
Actual behavior
Additional context
No response
Checklist
The text was updated successfully, but these errors were encountered: