Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can NOT read FIB and ISIS Link-State (LSP) through netconf. #16636

Closed
2 tasks done
ybxiang opened this issue Aug 23, 2024 · 2 comments
Closed
2 tasks done

Can NOT read FIB and ISIS Link-State (LSP) through netconf. #16636

ybxiang opened this issue Aug 23, 2024 · 2 comments
Labels
triage Needs further investigation

Comments

@ybxiang
Copy link

ybxiang commented Aug 23, 2024

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:

  • "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>

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

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

  1. The RPC returns correct FIB without error
  2. the FIB and ISIS State are returned.

Actual behavior

  1. RPC returns error
  2. 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.
@ybxiang ybxiang added the triage Needs further investigation label Aug 23, 2024
@ybxiang
Copy link
Author

ybxiang commented Aug 26, 2024

According to https://docs.frrouting.org/projects/dev-guide/en/latest/mgmtd-dev.html, it is still under development?

@riw777
Copy link
Member

riw777 commented Aug 27, 2024

this is a feature request ... moved to feature wiki and closed ...

@riw777 riw777 closed this as completed Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Needs further investigation
Projects
None yet
Development

No branches or pull requests

2 participants