It would be nice to see a CLI (which itself could just be a python script that
communicates via the API).
Or have pyDECnet so it can fire up interactively and once loaded would dump you at a CLI
prompt.
I guess I'm thinking of this more like a traditional router, so that interactive (and
maybe even config changes) could be performed in this fashion.
I had fun with a project I did once where I had multiple sites each using a linux box as a
site router.
I use Quagga (
) which I used primarily for RIP and OSPF support
under linux.
You could bring up a CLI and make all the appropriate routing and advertising changes and
then save the config back so it would be the startup config for next time.
It was much more fun than editing config files and restarting networking - less intrusive
too.
Cheers, Wiz!!
-----Original Message-----
From: owner-hecnet at Update.UU.SE <owner-hecnet at Update.UU.SE> On
Behalf Of Paul Koning
Sent: Thursday, 18 November 2021 6:12 AM
To: hecnet at update.uu.se
Subject: Re: [HECnet] PyDECnet setup
Not really because it implies far more than just reloading the remote node
name mappings. Also, "copy known nodes" is a product-specific extension.
paul
On Nov 17, 2021, at 1:47 PM, Steve Davidson
<steve at davidson.net>
wrote:
The ?reload? would be similar to ?copy known nodes from? <node> | <file>
-Steve Davidson
SF:iP1
> On Nov 17, 2021, at 13:43, Paul Koning <paulkoning at comcast.net> wrote:
>
> ?That's not a NICE operation, so it would be some sort of system-specific
request. But the real issue isn't how to ask for it but how to implement it. At
the moment all the configuration state is created at startup time. A bunch of
it can in principle be changed or added later, that's what was behind the note
I wrote earlier. Some of it would be quite problematic.
>
> A "reload my config" operation could be done as a sequence of
"shutdown then restart", breaking all connections (briefly) in the process.
That's probably doable but ugly. Anything nicer would involve comparing the
old and new config and internally generating the deltas, which then would be
accepted or rejected according to the rules I suggested earlier. For example,
you can't change node type (router to endnode, or phase 2 to phase 4) on
the fly, so a config file reload that did that would not be valid unless it were
handled as an internally generated restart.
>
> paul
>
>> On Nov 17, 2021, at 1:25 PM, SA <steve at davidson.net> wrote:
>>
>> Actually it should look more like:
>>
>> ?set exec reload? [<from> <source>]
>>
>> -Steve, NA1T
>>
>> On 11/17/21, 1:23 PM, "SA" <owner-hecnet at Update.UU.SE on behalf
of
steve at davidson.net> wrote:
>>
>> Paul,
>>
>> How about:
>>
>> ?set exec reload? <from> <source>
>>
>> -Steve, NA1T
>>
>>> On 11/17/21, 1:05 PM, "Paul Koning" <owner-hecnet at
Update.UU.SE
on behalf of paulkoning at comcast.net> wrote:
>>>
>>>
>>>
>>>> On Nov 17, 2021, at 12:05 PM, Robert Armstrong <bob at jfcl.com>
wrote:
>>>
>>>> I have done a bit of work to allow "change" type NICE requests,
starting with the "zero counters" request. That isn't done yet.
>>>
>>> Personally, I?d love to see that. I?d also especially like to be able to
turn
individual circuits on and off via NICE and maybe even reload the entire
pyDECnet config file. That?d make testing and changing things a lot easier.
>>
>> Some possibilities, based on VERY cursory analysis.
>>
>> "zero counters" should be straightforward.
>>
>> Adding and removing node entries (for remote nodes) also should be
straightforward.
>>
>> Circuit state (on/off) is a bit of work because routing gets involved -- a
circuit that is off doesn't reach anyone and can't have route vector
messages
sent to it.
>>
>> Changing circuit or executor parameters may be easy or not, it
depends on the parameter. For example, executor parameter max cost is
not hard; max nodes is much harder because some routing data structures
are built based on that value. The same, only more so, applies to executor
address and type. Similarly, for changing circuit parameters the answer is
also "it depends".
>>
>> Creating new circuits (additional circuits) may not be as hard as I
thought. It's difficult as a NICE operation since many of the configuration
parameters in the config file are non-DECnet things like IP addresses and
circuit emulation protocols. But that's what OS-dependent parameters are
for :-). That also implies that it might be possible to read those settings; right
now they aren't visible. I had thought of adding them to the web interface
(with an ability to suppress that if desired); hadn't thought of NICE but the
same reasoning applies there.
>>
>> As for access control, PyDECnet already supports username/password
checking, so NICE "modify" actions can be tied to an ACL that specifies the
user names permitted to do this. By default that might be just "root". So if
you connect to NICE with the username of a permitted user and the correct
password for that user, the PAM module would approve those credentials
and then that would let you do the operation.
>>>
>>> paul
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>