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

PUSH_UPDATE: improve feature description #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lstipakov
Copy link
Member

No description provided.

@lstipakov lstipakov requested review from ordex and schwabe October 30, 2024 09:01
<sourcecode>
PUSH_UPDATE,route 10.10.10.0 255.255.255.0,-dns
PUSH_UPDATE,dns server 0 10.10.10.1,route-metric 100
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

text indentation issue?

</t>
<t>
This message includes dynamic configuration options that can be pushed from the server to the client without reconnecting.
These options augment existing options. Options with the same name are replaced. To remove an option, it should be prefixed
with <tt>-</tt>. For example, the following code replaces all routes (if there were any) with the provided one and removes the <tt>dns</tt> option:
These options augment existing ones. For example, the following command only adds a DNS server and updates the route metrics
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is augment the proper term here? Normally that refers to "adding additional value/capabilities" to something.
What do you think about "join"? This way it's clear that they ultimately end up in the same option set, as if they were all provided at the same time.

Options with the same name, previously pushed with <tt>PUSH_REPLY</tt> or <tt>PUSH_UPDATE</tt>, are replaced.
For instance, the following command removes all existing routes and adds two new routes:
<sourcecode>
PUSH_UPDATE,route 10.1.0.0 255.255.0.0,route 10.2.0.0 255.255.0.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

text indentation issue?

<t>
To remove an option, it should be prefixed with <tt>-</tt>. The following example removes all existing <tt>dns</tt> options:
<sourcecode>
PUSH_UPDATE,-dns
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

text indentation issue?

Options prefixed with <tt>?</tt> are considered optional. The client MAY support them. If the client cannot support some optional options,
they can be ignored, and the client does not have to reconnect. This also applies to removal. Example syntax:
<sourcecode>
PUSH_UPDATE,-?block-ipv6
PUSH_UPDATE,-?block-ipv6
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

text indentation issue?

Here client should remove <tt>block-ipv6</tt> option. However, if client does not support updating it, it does not need to reconnect.
</t>
Here, the client should remove the <tt>block-ipv6</tt> option. However, if the client does not support updating it, it does not need to reconnect.
Note that the only valid syntax for removing options without reconnecting on failure is <tt>-?option-name</tt>.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we spell out that the '-' should always come before the '?' ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants