Right.
COPY KNOWN NODES is actually not a NICE command. What NCP do internally
when you give this command is that it does a SHOW KNOWN NODES (which is
a NICE command) at the other end, and then just process the responses in
a different way, to just store the information.
Johnny
On 2021-11-17 20:11, Paul Koning wrote:
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
>>
>>
>>
>>
>>
>>
>>
>
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol