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

Set ipv4 set ipv6 changes #711

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

ntsbtz
Copy link
Contributor

@ntsbtz ntsbtz commented Aug 9, 2024

No description provided.

Issue - nmctl status <device> -j is showing ConfigSource as foreign
for all kind of address like static, dynamic and foreign.

Now on existing flow to get a link address info nmctl get the info
from dbus and parse the info similar for address as well. While parsing
the address from json object to ip, prefix length is not appended to address.
Hence ip matching with address always failing for IPv6, cause of this
ConfigSource always set to foreign regardless of address is static or dynamic.

Fix - Fixed in json_array_to_ip parsing to take care of prefix value as well
while returning the ip address after parsing the json object.
Issue: This issue exist with set-ipv4 and set-ipv6 command.
While setting LinkLocalAddressing for both IPv4 and IPv6
one after another the LinkLocalAddressing only preserving
the last command value in this case it would be LinkLocalAddressing=ipv6
instead it should be LinkLocalAddressing=yes.

Fix: Addressing this issue in both commands now nmctl check for existing value
and based on that it will update the LinkLocalAddressing parameter.
Issue: While Setting DNS for IPv4 or IPv6 it always override
the existing DNS with newly added one even its not duplicate.

Fix: nmctl is now taking care of existing DNS value and newly added as well
while setting IPv4 DNS or IPv6 DNS. It will keep all the unique DNS addresses
irrespective of IPv4/IPv6.
… command.

Syntax - nmctl set-ipv4/set-ipv6 dev <DEVICE> domains <SERVER1,SERVER2...>
Example - nmctl set-ipv4 dev test99 domains example1.com,example2.com
          nmctl set-ipv6 dev test99 domains example3.com,example3.com
…t-ipv6 command.

Syntax: nmctl set-ipv4/set-ipv6 dev <DEVICE> use-domains <route|BOOLEAN>
Example: nmctl set-ipv4 dev dummy1 use-domains yes
         nmctl set-ipv6 dev dummy1 use-domains route
…v4 command.

Syntax: nmctl set-ipv4 dev <DEVICE> cid <ClientIdentifierValue>
        nmctl set-ipv4 dev dummy1 cid mac
The test is a combination of IPv4, IPv6, DNS, Domains, UseDns, UseDomains, SendRelease,
LinkLocalAddressing, ClientIdentifier etc.
… and set-ipv6 command.

1. LinkLocalAddressing overrides while setting ipv6 over ipv4 and vice versa.
2. DNS settings got overrides while setting ipv6 DNS over ipv4 DNS and vice versa.
3. Domains option added in both set-ipv4 and set-ipv6 command to set multiple domain names.
4. UseDomains option added in both set-ipv4 and set-ipv6 command to set UseDomains.
5. ClientIdentifier option added in set-ipv4 command to set ClientIdentifier.
6. Adding multiple test for set-ipv4 and set-ipv6 command. The test is a combination
   of IPv4, IPv6, DNS, Domains, UseDns, UseDomains, SendRelease, LinkLocalAddressing,
   ClientIdentifier etc.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants