Document how to create a Callhome Server #146
Labels
No labels
breaking-change
bug
dependencies
duplicate
enhancement
go
good first issue
help wanted
invalid
investigation
proposal
proposal-accepted
question
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nemith/netconf#146
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
May I ask when NetConf Call Home will be supported?
Can you please talk more about exactly what you would be looking for from call home. Really it's supported now. Evertime I have gone to create some sort of actual "call home" feature. It comes back down to just having a network socket that listens for connections and then creates a new session on top of that connection.
The only real thing is it needs to be documented.
However It would be good to know your exact requirements?
I have a requirement: the netconf server on the device is located in different campuses, and at this time, the netconf client cannot directly communicate with the device, so the netconf call home function needs to be used.
As you mentioned, it listens for TCP connections and then establishes SSH and Netconf sessions based on this connection.
Could you please submit that part of the code? That would be very helpful. Thank you.
I am more curious on what you would do across the sessions? Is this for notificaitons or for issuing RPCs over them? If it's RPCs how would you index them? How would you do auth? (see how each one of these makes it harder to havea generic handler).
Here is a rough way to do it. I haven't added this to the library as the abstraction is already good and eveything else would be added noise to it.
Something like
i'd probably take your requirements and wrap that into a struct to hold a map of sessions (assuming that is how you are going to use it) and make the startCallHome() and handleConnection() methods off of that struct.
But each step here could require some sort of customization and just making this a bunch of call back feels wrong and I don't thinks it's necessary as a core part of this library at this point, but I am open to feedback.
Let me know if this doesn't work or if you have some other questions. The real meat & potatoes here is what to do with the sessions? Do you hold onto them? Do you track them? Do you use them only for push notifications, etc.
Given how wide that all is I still looking at this and I don't think the netconf library can abstract this any better (but perhaps maybe a helper func or two?)
The problem I'm currently facing is how to handle device authentication, which is related to my specific business.
For sessions established via call home, my requirement is to retain this session indefinitely and rely on it for all RPC requests.