diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 67fcf0264e..bc1e874f95 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -60,11 +60,11 @@ variables: # # This is done by running `ci-fairy generate-template` and possibly bumping # ".default_tag". - ALPINE_TAG: 'tag-0c3a6f855fb8' - CENTOS_TAG: 'tag-c1c23df75dda' - DEBIAN_TAG: 'tag-d4bf5db9e214' - FEDORA_TAG: 'tag-c1c23df75dda' - UBUNTU_TAG: 'tag-d4bf5db9e214' + ALPINE_TAG: 'tag-8e4bbc59695b' + CENTOS_TAG: 'tag-caf6673db1a7' + DEBIAN_TAG: 'tag-e394e8e726e1' + FEDORA_TAG: 'tag-caf6673db1a7' + UBUNTU_TAG: 'tag-e394e8e726e1' ALPINE_EXEC: 'bash .gitlab-ci/alpine-install.sh' CENTOS_EXEC: 'bash .gitlab-ci/fedora-install.sh' diff --git a/NEWS b/NEWS index 48f497c6bd..e38470b041 100644 --- a/NEWS +++ b/NEWS @@ -40,6 +40,10 @@ USE AT YOUR OWN RISK. NOT RECOMMENDED FOR PRODUCTION USE! * New button in nmtui that allows users to chose from list of available devices when creating connection profiles for physical interfaces (Ethernet, Wi-Fi, etc.). +* Add support for CLAT (464XLAT) using a BPF program. +* Change the default value of the ipv4.dhcp-ipv6-only-preferred property + to a new value "auto" which automatically enables the option when CLAT + is enabled ("yes" or "auto") in the connection profile. ============================================= NetworkManager-1.56 diff --git a/config.h.meson b/config.h.meson index 05d346bb8f..e220c3f0c6 100644 --- a/config.h.meson +++ b/config.h.meson @@ -294,3 +294,6 @@ /* Define to 1 if dlvsym() is available */ #mesondefine HAVE_DLVSYM + +/* Define to 1 if you want CLAT support. */ +#mesondefine HAVE_CLAT diff --git a/contrib/alpine/REQUIRED_PACKAGES b/contrib/alpine/REQUIRED_PACKAGES index 3a3cc1abeb..c6ae3a4edd 100755 --- a/contrib/alpine/REQUIRED_PACKAGES +++ b/contrib/alpine/REQUIRED_PACKAGES @@ -8,6 +8,7 @@ apk add \ 'alpine-sdk' \ 'autoconf' \ 'bash' \ + 'bpftool' \ 'clang' \ 'curl-dev' \ 'dbus' \ @@ -23,6 +24,7 @@ apk add \ 'iproute2' \ 'iptables' \ 'jansson-dev' \ + 'libbpf-dev' \ 'libgudev-dev' \ 'libndp-dev' \ 'libnvme-dev' \ diff --git a/contrib/debian/REQUIRED_PACKAGES b/contrib/debian/REQUIRED_PACKAGES index 68f62570cc..c2e409fa7f 100755 --- a/contrib/debian/REQUIRED_PACKAGES +++ b/contrib/debian/REQUIRED_PACKAGES @@ -32,6 +32,7 @@ install_ignore_missing() { install \ \ + bpftool \ clang \ dbus \ dbus-x11 \ @@ -43,6 +44,7 @@ install \ iproute2 \ iptables \ libaudit-dev \ + libbpf-dev \ libcurl4-gnutls-dev \ libdbus-1-dev \ libgirepository1.0-dev \ diff --git a/contrib/fedora/REQUIRED_PACKAGES b/contrib/fedora/REQUIRED_PACKAGES index 6f70537d40..557c6c73a7 100755 --- a/contrib/fedora/REQUIRED_PACKAGES +++ b/contrib/fedora/REQUIRED_PACKAGES @@ -49,6 +49,7 @@ install \ ModemManager-glib-devel \ audit-libs-devel \ bluez-libs-devel \ + bpftool \ clang \ dbus-devel \ dbus-x11 \ @@ -64,6 +65,7 @@ install \ iptables \ jansson-devel \ jq \ + libbpf-devel \ libcurl-devel \ libndp-devel \ libnvme-devel \ diff --git a/contrib/fedora/rpm/NetworkManager.spec b/contrib/fedora/rpm/NetworkManager.spec index b5e7b0651e..7b5d0ab177 100644 --- a/contrib/fedora/rpm/NetworkManager.spec +++ b/contrib/fedora/rpm/NetworkManager.spec @@ -105,7 +105,12 @@ Release: __RELEASE_VERSION__%{?dist} %else %bcond_with polkit_noauth_group %endif - +%ifarch %{ix86} +# there is no bpftool in i686 +%bcond_with clat +%else +%bcond_without clat +%endif ############################################################################### %global dbus_version 1.9.18 @@ -183,6 +188,10 @@ Requires: dbus >= %{dbus_version} Requires: glib2 >= %{glib2_version} Requires: %{name}-libnm%{?_isa} = %{epoch}:%{version}-%{release} +%if %{with clat} +Requires: libbpf +%endif + %if 0%{?rhel} == 8 # Older libndp versions use select() (rh#1933041). On well known distros, # choose a version that has the necessary fix. @@ -230,6 +239,7 @@ Conflicts: NetworkManager-dispatcher-routing-rules <= 1:1.47.5-3 %endif BuildRequires: gcc +BuildRequires: clang BuildRequires: pkgconfig BuildRequires: meson BuildRequires: gettext-devel >= 0.19.8 @@ -284,6 +294,10 @@ BuildRequires: firewalld-filesystem BuildRequires: iproute BuildRequires: iproute-tc BuildRequires: libnvme-devel >= 1.5 +%if %{with clat} +BuildRequires: libbpf-devel +BuildRequires: bpftool +%endif Provides: %{name}-dispatcher%{?_isa} = %{epoch}:%{version}-%{release} @@ -612,6 +626,11 @@ Preferably use nmcli instead. %else -Diwd=false \ %endif +%if %{with clat} + -Dclat=true \ +%else + -Dclat=false \ +%endif %if %{with bluetooth} -Dbluez5_dun=true \ %else diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml index 2832982f3f..2a14e160fd 100644 --- a/man/NetworkManager.conf.xml +++ b/man/NetworkManager.conf.xml @@ -954,6 +954,10 @@ ipv6.ip6-privacy=0 ipv4.forwarding Whether to configure IPv4 sysctl interface-specific forwarding. When enabled, the interface will act as a router to forward the IPv4 packet from one interface to another. If left unspecified, "auto" is used, so NetworkManager sets the IPv4 forwarding if any shared connection is active, or it will use the kernel default value otherwise. The "ipv4.forwarding" property is ignored when "ipv4.method" is set to "shared", because forwarding is always enabled in this case. The accepted values are: 0: disabled, 1: enabled, 2: auto, 3: ignored (leave the forwarding unchanged). + + ipv4.clat + If left unspecified, defaults to "no". + ipv4.routed-dns @@ -972,7 +976,7 @@ ipv6.ip6-privacy=0 ipv4.dhcp-ipv6-only-preferred - If left unspecified, the "IPv6-only preferred" DHCPv4 option is disabled. + If left unspecified, it defaults to "auto". ipv4.dhcp-hostname-flags diff --git a/meson.build b/meson.build index 6aafd8b138..913d7431be 100644 --- a/meson.build +++ b/meson.build @@ -288,7 +288,7 @@ uuid_dep = dependency('uuid') libelogind_dep = dependency('libelogind', version: '>= 219', required: false) libudev_dep = dependency('libudev', version: '>= 175') dbus_dep = dependency('dbus-1', version: '>= 1.1') -libndp_dep = dependency('libndp') +libndp_dep = dependency('libndp', version: '>= 1.9') jansson_dep = dependency('jansson', version: '>= 2.7', required: false) config_h.set10('WITH_JANSSON', jansson_dep.found()) @@ -514,6 +514,14 @@ if enable_selinux endif config_h.set10('HAVE_SELINUX', enable_selinux) +# CLAT support +enable_clat = get_option('clat') +if enable_clat + libbpf = dependency('libbpf', version: '>= 0.1.0', required: false) + assert(libbpf.found(), 'You must have libbpf installed to build. Use -Dclat=false to disable use of it') +endif +config_h.set10('HAVE_CLAT', enable_clat) + # libaudit support libaudit = get_option('libaudit') enable_libaudit = libaudit.contains('yes') @@ -1181,5 +1189,6 @@ output += 'have-nss: ' + crypto_nss_dep.found().to_string() + ')\n' output += ' sanitizers: ' + get_option('b_sanitize') + '\n' output += ' Mozilla Public Suffix List: ' + enable_libpsl.to_string() + '\n' output += ' vapi: ' + enable_vapi.to_string() + '\n' +output += ' clat: ' + enable_clat.to_string() + '\n' output += ' readline: ' + with_readline + '\n' message(output) diff --git a/meson_options.txt b/meson_options.txt index c015538705..531db6b73c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -48,6 +48,9 @@ option('nm_cloud_setup', type: 'boolean', value: true, description: 'Build nm-cl option('bluez5_dun', type: 'boolean', value: false, description: 'enable Bluez5 DUN support') option('ebpf', type: 'combo', choices: ['auto', 'true', 'false'], description: 'Enable eBPF support (deprecated)') option('nbft', type: 'boolean', value: true, description: 'Enable NBFT support in the initrd generator') +option('clat', type: 'boolean', value: true, description: 'Build with CLAT support') +option('bpf-compiler', type : 'combo', choices : ['auto', 'clang', 'gcc'], + description : 'compiler used to build BPF programs') # configuration plugins option('config_plugins_default', type: 'string', value: '', description: 'Default configuration option for main.plugins setting, used as fallback if the configuration option is unset') diff --git a/src/core/bpf/clat.bpf.c b/src/core/bpf/clat.bpf.c new file mode 100644 index 0000000000..56d09a7176 --- /dev/null +++ b/src/core/bpf/clat.bpf.c @@ -0,0 +1,1116 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright 2021 Toke Høiland-Jørgensen */ +/* Copyright 2025 Mary Strodl */ +/* Copyright 2026 Beniamino Galvani */ + +/** + * This is an implementation of a CLAT in eBPF. BPF is a different environment + * than the rest of NetworkManager, and we don't have access to most of the + * C standard library, so some things might look a little different from what + * you're used to. + * + * Check out src/core/bpf/meson.build to see how this gets built. + **/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "clat.h" + +char _license[] SEC("license") = "GPL"; + +struct clat_config config; + +#ifdef DEBUG +/* Note: when enabling debugging, you also need to add CAP_PERFMON + * to the CapabilityBoundingSet of the NM systemd unit. The messages + * will be printed to /sys/kernel/debug/tracing/trace_pipe */ +#define DBG(fmt, ...) \ + ({ \ + char ____fmt[] = "clat: " fmt; \ + bpf_trace_printk(____fmt, sizeof(____fmt), ##__VA_ARGS__); \ + }) +#else +#define DBG(fmt, ...) +#endif + +/* Macros to read the sk_buff data* pointers, preventing the compiler + * from generating a 32-bit register spill. */ +#define SKB_ACCESS_MEMBER_32(_skb, member) \ + ({ \ + void *ptr; \ + \ + asm volatile("%0 = *(u32 *)(%1 + %2)" \ + : "=r"(ptr) \ + : "r"(_skb), "i"(offsetof(struct __sk_buff, member))); \ + \ + ptr; \ + }) + +#define SKB_DATA(_skb) SKB_ACCESS_MEMBER_32(_skb, data) +#define SKB_DATA_END(_skb) SKB_ACCESS_MEMBER_32(_skb, data_end) + +struct icmpv6_pseudo { + struct in6_addr saddr; + struct in6_addr daddr; + __u32 len; + __u8 padding[3]; + __u8 nh; +} __attribute__((packed)); + +struct ip6_frag { + __u8 nexthdr; + __u8 reserved; + __u16 offset; + __u32 identification; +} __attribute__((packed)); + +#define ETH_H_LEN (sizeof(struct ethhdr)) +#define IP_H_LEN (sizeof(struct iphdr)) +#define IP6_H_LEN (sizeof(struct ipv6hdr)) +#define IP6_FRAG_H_LEN (sizeof(struct ip6_frag)) +#define ICMP_H_LEN (sizeof(struct icmphdr)) +#define ICMP6_H_LEN (sizeof(struct icmp6hdr)) + +#define ensure_header(header, skb, data, data_end, offset) \ + _ensure_header((void **) header, (skb), (data), (data_end), sizeof(**(header)), (offset)) + +/* + * Verifies that the header at offset @offset and with size @size can + * be accessed, and assigns the pointer to @header. In case the data + * is not available, the function tries to pull it. Note that all packet + * pointers must be refreshed after calling this function. + */ +static __always_inline bool +_ensure_header(void **header, + struct __sk_buff *skb, + void **data, + void **data_end, + unsigned size, + unsigned offset) +{ + if (*data + offset + size > *data_end) { + bpf_skb_pull_data(skb, offset + size); + *data = SKB_DATA(skb); + *data_end = SKB_DATA_END(skb); + } + + if (*data + offset + size > *data_end) + return false; + + *header = *data + offset; + return true; +} + +/* This function must be declared as inline because the BPF calling + * convention only supports up to 5 function arguments. */ +static __always_inline void +update_l4_checksum(struct __sk_buff *skb, + struct ipv6hdr *ip6h, + struct iphdr *iph, + bool v4to6, + bool is_inner, + bool is_v6_fragment, + __u32 *csum_diff) +{ + int flags = BPF_F_PSEUDO_HDR; + __u16 offset; + __u32 csum; + int ip_type; + + if (v4to6) { + void *from_ptr = &iph->saddr; + void *to_ptr = &ip6h->saddr; + + csum = bpf_csum_diff(from_ptr, 2 * sizeof(__u32), to_ptr, 2 * sizeof(struct in6_addr), 0); + offset = ETH_H_LEN + IP_H_LEN; + ip_type = ip6h->nexthdr; + } else { + void *from_ptr = &ip6h->saddr; + void *to_ptr = &iph->saddr; + + csum = bpf_csum_diff(from_ptr, 2 * sizeof(struct in6_addr), to_ptr, 2 * sizeof(__u32), 0); + offset = ETH_H_LEN + IP6_H_LEN; + ip_type = iph->protocol; + + if (is_inner) { + offset = offset + ICMP6_H_LEN + IP6_H_LEN; + } + } + + if (is_v6_fragment) { + offset += IP6_FRAG_H_LEN; + } + + switch (ip_type) { + case IPPROTO_TCP: + offset += offsetof(struct tcphdr, check); + break; + case IPPROTO_UDP: + offset += offsetof(struct udphdr, check); + flags |= BPF_F_MARK_MANGLED_0; + break; + default: + return; + } + + bpf_l4_csum_replace(skb, offset, 0, csum, flags); + + if (csum_diff) { + *csum_diff = bpf_csum_diff((__be32 *) &csum, sizeof(csum), 0, 0, *csum_diff); + } +} + +static __always_inline void +update_icmp_checksum(struct __sk_buff *skb, + const struct ipv6hdr *ip6h, + void *icmp_before, + void *icmp_after, + bool v4to6, + bool is_inner, + __u32 seed) +{ + struct icmpv6_pseudo ph = {.nh = IPPROTO_ICMPV6, .len = ip6h->payload_len}; + __u16 h_before; + __u16 h_after; + __u16 offset; + __u32 csum; + __u32 u_before; + __u32 u_after; + + __builtin_memcpy(&ph.saddr, &ip6h->saddr, sizeof(struct in6_addr)); + __builtin_memcpy(&ph.daddr, &ip6h->daddr, sizeof(struct in6_addr)); + + /* Do checksum update in two passes: first compute the incremental + * checksum update of the ICMPv6 pseudo header, update the checksum + * using bpf_l4_csum_replace(), and then do a separate update for the + * ICMP type and code (which is two consecutive bytes, so cast them to + * u16). The bpf_csum_diff() helper can be used to compute the + * incremental update of the full block, whereas the + * bpf_l4_csum_replace() helper can do the two-byte diff and update by + * itself. + */ + csum = bpf_csum_diff((__be32 *) &ph, + v4to6 ? 0 : sizeof(ph), + (__be32 *) &ph, + v4to6 ? sizeof(ph) : 0, + seed); + + if (v4to6) { + offset = ETH_H_LEN + IP_H_LEN + 2; + } else { + offset = ETH_H_LEN + IP6_H_LEN + 2; + if (is_inner) + offset += ICMP6_H_LEN + IP6_H_LEN; + } + + /* first two bytes of ICMP header, type and code */ + h_before = *(__u16 *) icmp_before; + h_after = *(__u16 *) icmp_after; + + /* last four bytes of ICMP header, the data union */ + u_before = *(__u32 *) (icmp_before + 4); + u_after = *(__u32 *) (icmp_after + 4); + + bpf_l4_csum_replace(skb, offset, 0, csum, BPF_F_PSEUDO_HDR); + bpf_l4_csum_replace(skb, offset, h_before, h_after, 2); + + if (u_before != u_after) + bpf_l4_csum_replace(skb, offset, u_before, u_after, 4); +} + +static int +rewrite_icmp(struct __sk_buff *skb, const struct ipv6hdr *ip6h) +{ + void *data_end = SKB_DATA_END(skb); + void *data = SKB_DATA(skb); + struct icmphdr icmp_buf; /* copy of the old ICMPv4 header */ + struct icmp6hdr icmp6_buf; /* buffer for the new ICMPv6 header */ + struct icmphdr *icmp; + struct icmp6hdr *icmp6; + __u32 mtu; + + if (!ensure_header(&icmp, skb, &data, &data_end, ETH_H_LEN + IP_H_LEN)) + return -1; + + icmp_buf = *icmp; + icmp6 = (void *) icmp; + icmp6_buf = *icmp6; + + /* These translations are defined in RFC6145 section 4.2 */ + switch (icmp->type) { + case ICMP_ECHO: + icmp6_buf.icmp6_type = ICMPV6_ECHO_REQUEST; + break; + case ICMP_ECHOREPLY: + icmp6_buf.icmp6_type = ICMPV6_ECHO_REPLY; + break; + case ICMP_DEST_UNREACH: + icmp6_buf.icmp6_type = ICMPV6_DEST_UNREACH; + switch (icmp->code) { + case ICMP_NET_UNREACH: + case ICMP_HOST_UNREACH: + case ICMP_SR_FAILED: + case ICMP_NET_UNKNOWN: + case ICMP_HOST_UNKNOWN: + case ICMP_HOST_ISOLATED: + case ICMP_NET_UNR_TOS: + case ICMP_HOST_UNR_TOS: + icmp6_buf.icmp6_code = ICMPV6_NOROUTE; + break; + case ICMP_PROT_UNREACH: + icmp6_buf.icmp6_type = ICMPV6_PARAMPROB; + icmp6_buf.icmp6_code = ICMPV6_UNK_NEXTHDR; + icmp6_buf.icmp6_pointer = bpf_htonl(offsetof(struct ipv6hdr, nexthdr)); + break; + case ICMP_PORT_UNREACH: + icmp6_buf.icmp6_code = ICMPV6_PORT_UNREACH; + break; + case ICMP_FRAG_NEEDED: + icmp6_buf.icmp6_type = ICMPV6_PKT_TOOBIG; + icmp6_buf.icmp6_code = 0; + mtu = bpf_ntohs(icmp->un.frag.mtu) + 20; + /* RFC6145 section 6, "second approach" - should not be + * necessary, but might as well do this + */ + if (mtu < 1280) + mtu = 1280; + icmp6_buf.icmp6_mtu = bpf_htonl(mtu); + break; + case ICMP_NET_ANO: + case ICMP_HOST_ANO: + case ICMP_PKT_FILTERED: + case ICMP_PREC_CUTOFF: + icmp6_buf.icmp6_code = ICMPV6_ADM_PROHIBITED; + break; + default: + return -1; + } + break; + case ICMP_PARAMETERPROB: + if (icmp->code == 1) + return -1; + icmp6_buf.icmp6_type = ICMPV6_PARAMPROB; + icmp6_buf.icmp6_code = ICMPV6_HDR_FIELD; + /* The pointer field not defined in the Linux header. This + * translation is from Figure 3 of RFC6145. + */ + switch (icmp->un.reserved[0]) { + case 0: /* version/IHL */ + icmp6_buf.icmp6_pointer = 0; + break; + case 1: /* Type of Service */ + icmp6_buf.icmp6_pointer = bpf_htonl(1); + break; + case 2: /* Total length */ + case 3: + icmp6_buf.icmp6_pointer = bpf_htonl(4); + break; + case 8: /* Time to Live */ + icmp6_buf.icmp6_pointer = bpf_htonl(7); + break; + case 9: /* Protocol */ + icmp6_buf.icmp6_pointer = bpf_htonl(6); + break; + case 12: /* Source address */ + case 13: + case 14: + case 15: + icmp6_buf.icmp6_pointer = bpf_htonl(8); + break; + case 16: /* Destination address */ + case 17: + case 18: + case 19: + icmp6_buf.icmp6_pointer = bpf_htonl(24); + break; + default: + return -1; + } + break; + default: + return -1; + } + + *icmp6 = icmp6_buf; + update_icmp_checksum(skb, ip6h, &icmp_buf, icmp6, true, false, 0); + + /* FIXME: also need to rewrite IP header embedded in ICMP error */ + + return 0; +} + +/* + * Convert an IPv4 address to the corresponding "IPv4-Embedded IPv6 Address" + * according to RFC 6052 2.2. + * + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |PL| 0-------------32--40--48--56--64--72--80--88--96--104---------| + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |32| prefix |v4(32) | u | suffix | + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |40| prefix |v4(24) | u |(8)| suffix | + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |48| prefix |v4(16) | u | (16) | suffix | + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |56| prefix |(8)| u | v4(24) | suffix | + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |64| prefix | u | v4(32) | suffix | + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * |96| prefix | v4(32) | + * +--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + * + */ +static __always_inline bool +v4addr_to_v6(__be32 addr4, struct in6_addr *addr6, const struct in6_addr *pref64, int pref64_len) +{ + union { + __be32 a32; + __u8 a8[4]; + } u; + + u.a32 = addr4; + + addr6->s6_addr32[0] = 0; + addr6->s6_addr32[1] = 0; + addr6->s6_addr32[2] = 0; + addr6->s6_addr32[3] = 0; + + switch (pref64_len) { + case 96: + addr6->s6_addr32[0] = pref64->s6_addr32[0]; + addr6->s6_addr32[1] = pref64->s6_addr32[1]; + addr6->s6_addr32[2] = pref64->s6_addr32[2]; + addr6->s6_addr32[3] = addr4; + break; + case 64: + addr6->s6_addr32[0] = pref64->s6_addr32[0]; + addr6->s6_addr32[1] = pref64->s6_addr32[1]; + addr6->s6_addr[9] = u.a8[0]; + addr6->s6_addr[10] = u.a8[1]; + addr6->s6_addr[11] = u.a8[2]; + addr6->s6_addr[12] = u.a8[3]; + break; + case 56: + addr6->s6_addr32[0] = pref64->s6_addr32[0]; + addr6->s6_addr32[1] = pref64->s6_addr32[1]; + addr6->s6_addr[7] = u.a8[0]; + addr6->s6_addr[9] = u.a8[1]; + addr6->s6_addr[10] = u.a8[2]; + addr6->s6_addr[11] = u.a8[3]; + break; + case 48: + addr6->s6_addr32[0] = pref64->s6_addr32[0]; + addr6->s6_addr16[2] = pref64->s6_addr16[2]; + addr6->s6_addr[6] = u.a8[0]; + addr6->s6_addr[7] = u.a8[1]; + addr6->s6_addr[9] = u.a8[2]; + addr6->s6_addr[10] = u.a8[3]; + break; + case 40: + addr6->s6_addr32[0] = pref64->s6_addr32[0]; + addr6->s6_addr[4] = pref64->s6_addr[4]; + addr6->s6_addr[5] = u.a8[0]; + addr6->s6_addr[6] = u.a8[1]; + addr6->s6_addr[7] = u.a8[2]; + addr6->s6_addr[9] = u.a8[3]; + break; + case 32: + addr6->s6_addr32[0] = pref64->s6_addr32[0]; + addr6->s6_addr32[1] = addr4; + break; + default: + return false; + } + return true; +} + +/* + * Extract the IPv4 address @addr4 and the NAT64 prefix @pref64 from an IPv6 address, + * given the known prefix length @pref64_len. See the table above. + */ +static __always_inline bool +v6addr_to_v4(const struct in6_addr *addr6, int pref64_len, __be32 *addr4, struct in6_addr *pref64) +{ + union { + __be32 a32; + __u8 a8[4]; + } u; + + pref64->s6_addr32[0] = 0; + pref64->s6_addr32[1] = 0; + pref64->s6_addr32[2] = 0; + pref64->s6_addr32[3] = 0; + + switch (pref64_len) { + case 96: + u.a32 = addr6->s6_addr32[3]; + + pref64->s6_addr32[0] = addr6->s6_addr32[0]; + pref64->s6_addr32[1] = addr6->s6_addr32[1]; + pref64->s6_addr32[2] = addr6->s6_addr32[2]; + break; + case 64: + u.a8[0] = addr6->s6_addr[9]; + u.a8[1] = addr6->s6_addr[10]; + u.a8[2] = addr6->s6_addr[11]; + u.a8[3] = addr6->s6_addr[12]; + + pref64->s6_addr32[0] = addr6->s6_addr32[0]; + pref64->s6_addr32[1] = addr6->s6_addr32[1]; + break; + case 56: + u.a8[0] = addr6->s6_addr[7]; + u.a8[1] = addr6->s6_addr[9]; + u.a8[2] = addr6->s6_addr[10]; + u.a8[3] = addr6->s6_addr[11]; + + pref64->s6_addr32[0] = addr6->s6_addr32[0]; + pref64->s6_addr32[1] = addr6->s6_addr32[1]; + pref64->s6_addr[7] = 0; + break; + case 48: + u.a8[0] = addr6->s6_addr[6]; + u.a8[1] = addr6->s6_addr[7]; + u.a8[2] = addr6->s6_addr[9]; + u.a8[3] = addr6->s6_addr[10]; + + pref64->s6_addr32[0] = addr6->s6_addr32[0]; + pref64->s6_addr32[1] = addr6->s6_addr32[1]; + pref64->s6_addr16[3] = 0; + break; + case 40: + u.a8[0] = addr6->s6_addr[5]; + u.a8[1] = addr6->s6_addr[6]; + u.a8[2] = addr6->s6_addr[7]; + u.a8[3] = addr6->s6_addr[9]; + + pref64->s6_addr32[0] = addr6->s6_addr32[0]; + pref64->s6_addr32[1] = addr6->s6_addr32[1]; + pref64->s6_addr16[3] = 0; + pref64->s6_addr[5] = 0; + + break; + case 32: + u.a32 = addr6->s6_addr32[1]; + + pref64->s6_addr32[0] = addr6->s6_addr32[0]; + break; + default: + return false; + } + + *addr4 = u.a32; + return true; +} + +/* ipv4 traffic in from application on this device, needs to be translated to v6 and sent to PLAT */ +static int +clat_handle_v4(struct __sk_buff *skb) +{ + int ret = TC_ACT_OK; + void *data_end = SKB_DATA_END(skb); + void *data = SKB_DATA(skb); + struct ipv6hdr *ip6h; + struct ipv6hdr dst_hdr = { + .version = 6, + }; + struct iphdr *iph; + struct ethhdr *eth; + + if (!ensure_header(&iph, skb, &data, &data_end, ETH_H_LEN)) + goto out; + + eth = data; + if (eth->h_proto != bpf_htons(ETH_P_IP)) + goto out; + + if (iph->saddr != config.local_v4.s_addr) + goto out; + + /* At this point we know the packet needs translation. If we can't + * rewrite it, it should be dropped. + */ + ret = TC_ACT_SHOT; + + /* we don't bother dealing with IP options or fragmented packets. The + * latter are identified by the 'frag_off' field having a value (either + * the MF bit, or the fragment offset, or both). However, this field also + * contains the "don't fragment" (DF) bit, which we ignore, so mask that + * out. The DF is the second-most-significant bit (as bit 0 is + * reserved). + */ + + if (iph->ihl != 5 || (iph->frag_off & ~bpf_htons(1 << 14))) { + DBG("v4: pkt src/dst %pI4/%pI4 has IP options or is fragmented, dropping\n", + &iph->saddr, + &iph->daddr); + goto out; + } + + if (!v4addr_to_v6(iph->daddr, &dst_hdr.daddr, &config.pref64, config.pref64_len)) + goto out; + + dst_hdr.saddr = config.local_v6; + dst_hdr.nexthdr = iph->protocol; + dst_hdr.hop_limit = iph->ttl; + /* weird definition in ipv6hdr */ + dst_hdr.priority = (iph->tos & 0x70) >> 4; + dst_hdr.flow_lbl[0] = iph->tos << 4; + dst_hdr.payload_len = bpf_htons(bpf_ntohs(iph->tot_len) - IP_H_LEN); + + DBG("v4: outgoing pkt to dst %pI4 (%pI6c)\n", &iph->daddr, &dst_hdr.daddr); + + switch (dst_hdr.nexthdr) { + case IPPROTO_ICMP: + if (rewrite_icmp(skb, &dst_hdr)) + goto out; + dst_hdr.nexthdr = IPPROTO_ICMPV6; + break; + case IPPROTO_TCP: + case IPPROTO_UDP: + update_l4_checksum(skb, &dst_hdr, iph, true, false, false, NULL); + break; + default: + break; + } + + if (bpf_skb_change_proto(skb, bpf_htons(ETH_P_IPV6), 0)) + goto out; + + data = SKB_DATA(skb); + data_end = SKB_DATA_END(skb); + + if (!ensure_header(&ip6h, skb, &data, &data_end, ETH_H_LEN)) + goto out; + + eth = data; + eth->h_proto = bpf_htons(ETH_P_IPV6); + *ip6h = dst_hdr; + + ret = bpf_redirect(skb->ifindex, 0); +out: + return ret; +} + +static __always_inline __u16 +csum_fold_helper(__u32 csum) +{ + __u32 sum; + sum = (csum >> 16) + (csum & 0xffff); + sum += (sum >> 16); + return ~sum; +} + +static __always_inline bool +v6addr_equal(const struct in6_addr *a, const struct in6_addr *b) +{ + int i; + + for (i = 0; i < 4; i++) { + if (a->s6_addr32[i] != b->s6_addr32[i]) + return false; + } + return true; +} + +static __always_inline void +translate_ipv6_header(const struct ipv6hdr *ip6, struct iphdr *ip, __be32 saddr, __be32 daddr) +{ + *ip = (struct iphdr) { + .version = 4, + .ihl = 5, + .tos = ip6->priority << 4 | (ip6->flow_lbl[0] >> 4), + .frag_off = bpf_htons(1 << 14), + .ttl = ip6->hop_limit, + .protocol = ip6->nexthdr == IPPROTO_ICMPV6 ? IPPROTO_ICMP : ip6->nexthdr, + .saddr = saddr, + .daddr = daddr, + .tot_len = bpf_htons(bpf_ntohs(ip6->payload_len) + IP_H_LEN), + }; + + ip->check = csum_fold_helper(bpf_csum_diff((__be32 *) ip, 0, (__be32 *) ip, IP_H_LEN, 0)); +} + +static __always_inline int +translate_icmpv6_header(const struct icmp6hdr *icmp6, struct icmphdr *icmp) +{ + /* These translations are defined in RFC6145 section 5.2 */ + switch (icmp6->icmp6_type) { + case ICMPV6_ECHO_REQUEST: + icmp->type = ICMP_ECHO; + break; + case ICMPV6_ECHO_REPLY: + icmp->type = ICMP_ECHOREPLY; + break; + case ICMPV6_DEST_UNREACH: + icmp->type = ICMP_DEST_UNREACH; + switch (icmp6->icmp6_code) { + case ICMPV6_NOROUTE: + case ICMPV6_NOT_NEIGHBOUR: + case ICMPV6_ADDR_UNREACH: + icmp->code = ICMP_HOST_UNREACH; + break; + case ICMPV6_ADM_PROHIBITED: + icmp->code = ICMP_HOST_ANO; + break; + case ICMPV6_PORT_UNREACH: + icmp->code = ICMP_PORT_UNREACH; + break; + default: + return -1; + } + break; + case ICMPV6_PKT_TOOBIG: + { + __u32 mtu; + + icmp->type = ICMP_DEST_UNREACH; + icmp->code = ICMP_FRAG_NEEDED; + + mtu = bpf_ntohl(icmp6->icmp6_mtu) - 20; + if (mtu > 0xffff) + return -1; + icmp->un.frag.mtu = bpf_htons(mtu); + break; + } + case ICMPV6_TIME_EXCEED: + icmp->type = ICMP_TIME_EXCEEDED; + break; + case ICMPV6_PARAMPROB: + switch (icmp6->icmp6_code) { + case 0: + { + __u32 ptr; + + icmp->type = ICMP_PARAMETERPROB; + icmp->code = 0; + + ptr = bpf_ntohl(icmp6->icmp6_pointer); + /* Figure 6 in RFC6145 - using if statements b/c of + * range at the bottom + */ + if (ptr == 0 || ptr == 1) + icmp->un.reserved[0] = ptr; + else if (ptr == 4 || ptr == 5) + icmp->un.reserved[0] = 2; + else if (ptr == 6) + icmp->un.reserved[0] = 9; + else if (ptr == 7) + icmp->un.reserved[0] = 8; + else if (ptr >= 8 && ptr <= 23) + icmp->un.reserved[0] = 12; + else if (ptr >= 24 && ptr <= 39) + icmp->un.reserved[0] = 16; + else + return -1; + break; + } + case 1: + icmp->type = ICMP_DEST_UNREACH; + icmp->code = ICMP_PROT_UNREACH; + break; + default: + return -1; + } + break; + default: + return -1; + } + + return 0; +} + +static int +rewrite_icmpv6_inner(struct __sk_buff *skb, __u32 *csum_diff) +{ + void *data_end = SKB_DATA_END(skb); + void *data = SKB_DATA(skb); + struct icmphdr *icmp; + struct icmp6hdr *icmp6; + struct icmphdr icmp_buf; /* buffer for the new ICMPv4 header */ + struct icmp6hdr icmp6_buf; /* copy of the old ICMPv6 header */ + + /* + * icmp6: v + * ------------------------------------------------------------------------- + * | Ethernet | IPv6 | ICMPv6 | IPv6 | ICMPv6 | ... + * ------------------------------------------------------------------------- + */ + + if (!ensure_header(&icmp6, skb, &data, &data_end, ETH_H_LEN + 2 * IP6_H_LEN + ICMP6_H_LEN)) + return -1; + + icmp6_buf = *icmp6; + icmp = (void *) icmp6; + icmp_buf = *icmp; + + if (translate_icmpv6_header(icmp6, &icmp_buf)) + return -1; + + *icmp = icmp_buf; + update_icmp_checksum(skb, + (struct ipv6hdr *) (data + ETH_H_LEN), + &icmp6_buf, + icmp, + false, + true, + 0); + + if (csum_diff) { + data_end = SKB_DATA_END(skb); + data = SKB_DATA(skb); + + if (!ensure_header(&icmp, skb, &data, &data_end, ETH_H_LEN + 2 * IP6_H_LEN + ICMP6_H_LEN)) + return -1; + + /* Compute the checksum difference between the old ICMPv6 header and the new ICMPv4 one */ + *csum_diff = + bpf_csum_diff((__be32 *) &icmp6_buf, ICMP6_H_LEN, (__be32 *) &icmp6_buf, 0, *csum_diff); + *csum_diff = bpf_csum_diff((__be32 *) icmp, 0, (__be32 *) icmp, ICMP_H_LEN, *csum_diff); + } + return 0; +} + +static int +rewrite_ipv6_inner(struct __sk_buff *skb, struct iphdr *dst_hdr, __u32 *csum_diff) +{ + void *data_end = SKB_DATA_END(skb); + void *data = SKB_DATA(skb); + struct ipv6hdr *ip6h; + __be32 addr4; + struct in6_addr subnet_v6; + + /* + * ip6h: v + * ---------------------------------------------------------------- + * | Ethernet | IPv6 | ICMPv6 | IPv6 | ... + * ---------------------------------------------------------------- + */ + + if (!ensure_header(&ip6h, skb, &data, &data_end, ETH_H_LEN + IP6_H_LEN + ICMP6_H_LEN)) + return -1; + + if (!v6addr_equal(&ip6h->saddr, &config.local_v6)) + return -1; + if (!v6addr_to_v4(&ip6h->daddr, config.pref64_len, &addr4, &subnet_v6)) + return -1; + if (!v6addr_equal(&subnet_v6, &config.pref64)) + return -1; + + translate_ipv6_header(ip6h, dst_hdr, config.local_v4.s_addr, addr4); + + if (csum_diff) { + /* Checksum difference between the old IPv6 header and the new IPv4 one */ + *csum_diff = bpf_csum_diff((__be32 *) ip6h, IP6_H_LEN, (__be32 *) ip6h, 0, *csum_diff); + + *csum_diff = bpf_csum_diff((__be32 *) dst_hdr, 0, (__be32 *) dst_hdr, IP_H_LEN, *csum_diff); + } + + switch (dst_hdr->protocol) { + case IPPROTO_ICMP: + if (rewrite_icmpv6_inner(skb, csum_diff)) + return -1; + break; + case IPPROTO_TCP: + case IPPROTO_UDP: + update_l4_checksum(skb, ip6h, dst_hdr, false, true, false, csum_diff); + break; + default: + break; + } + + return 0; +} + +static int +rewrite_icmpv6(struct __sk_buff *skb, int *out_length_diff) +{ + void *data_end = SKB_DATA_END(skb); + void *data = SKB_DATA(skb); + struct iphdr *ip; + struct icmp6hdr *icmp6; + struct icmphdr *icmp; + struct icmphdr icmp_buf; /* buffer for the new ICMPv4 header */ + struct icmp6hdr icmp6_buf; /* copy of the old ICMPv6 header */ + struct iphdr ip_in_buf; /* buffer for the new inner IPv4 header */ + __u32 csum_diff = 0; + + /* + * icmp6: v + * --------------------------------------------- + * | Ethernet | IPv6 | ICMPv6 | ... + * --------------------------------------------- + */ + + if (!ensure_header(&icmp6, skb, &data, &data_end, ETH_H_LEN + IP6_H_LEN)) + return -1; + + icmp6_buf = *icmp6; + icmp = (void *) icmp6; + icmp_buf = *icmp; + + if (translate_icmpv6_header(icmp6, &icmp_buf)) + return -1; + + if (icmp6->icmp6_type >= 128) { + /* ICMPv6 non-error message: only translate the header */ + *icmp = icmp_buf; + update_icmp_checksum(skb, + (struct ipv6hdr *) (data + ETH_H_LEN), + &icmp6_buf, + icmp, + false, + false, + 0); + return 0; + } + + /* ICMPv6 error messages: we need to rewrite the headers in the inner packet. + * Track in csum_diff the incremental changes to the checksum for the ICMPv4 + * header. */ + + if (rewrite_ipv6_inner(skb, &ip_in_buf, &csum_diff)) + return -1; + + /* The inner IP header shrinks from 40 (IPv6) to 20 (IPv4) bytes; we need to move + * the L4 header and payload. BPF programs don't have an easy way to move a variable + * amount of packet data; use bpf_skb_adjust_room() which can add or remove data + * inside a packet. It doesn't support arbitrary offsets, but we can use BPF_ADJ_ROOM_NET + * to remove the bytes just after the L3 header, and rewrite the ICMP and the inner + * IP headers. + */ + if (bpf_skb_adjust_room(skb, (int) IP_H_LEN - (int) IP6_H_LEN, BPF_ADJ_ROOM_NET, 0)) + return -1; + + *out_length_diff = (int) IP_H_LEN - (int) IP6_H_LEN; + + data_end = SKB_DATA_END(skb); + data = SKB_DATA(skb); + + if (!ensure_header(&ip, skb, &data, &data_end, ETH_H_LEN + IP6_H_LEN + ICMP_H_LEN)) + return -1; + + icmp = data + ETH_H_LEN + IP6_H_LEN; + + /* Rewrite the ICMPv6 header with the translated ICMPv4 one */ + *icmp = icmp_buf; + /* Rewrite the inner IPv6 header with the translated IPv4 one */ + *ip = ip_in_buf; + + /* Update the ICMPv4 checksum according to all the changes in headers */ + update_icmp_checksum(skb, + (struct ipv6hdr *) (data + ETH_H_LEN), + &icmp6_buf, + icmp, + false, + false, + csum_diff); + + return 0; +} + +/* ipv6 traffic from the PLAT, to be translated into ipv4 and sent to an application */ +static int +clat_handle_v6(struct __sk_buff *skb) +{ + int ret = TC_ACT_OK; + void *data_end = SKB_DATA_END(skb); + void *data = SKB_DATA(skb); + struct ethhdr *eth; + struct ipv6hdr *ip6h; + struct iphdr *iph; + struct iphdr dst_hdr; + struct in6_addr subnet_v6; + __be32 addr4; + int length_diff = 0; + bool fragmented = false; + + if (!ensure_header(&ip6h, skb, &data, &data_end, ETH_H_LEN)) + goto out; + + eth = data; + if (eth->h_proto != bpf_htons(ETH_P_IPV6)) + goto out; + + if (!v6addr_equal(&ip6h->daddr, &config.local_v6)) + goto out; + if (!v6addr_to_v4(&ip6h->saddr, config.pref64_len, &addr4, &subnet_v6)) + goto out; + if (!v6addr_equal(&subnet_v6, &config.pref64)) { + struct icmp6hdr *icmp6; + + /* Follow draft-ietf-v6ops-icmpext-xlat-v6only-source-01: + * + * "Whenever a translator translates an ICMPv6 Destination Unreachable, + * ICMPv6 Time Exceeded or ICMPv6 Packet Too Big ([RFC4443]) to the + * corresponding ICMPv4 ([RFC0792]) message, and the IPv6 source + * address in the outermost IPv6 header is untranslatable, the + * translator SHOULD use the dummy IPv4 address (192.0.0.8) as the IPv4 + * source address for the translated packet." + */ + if (ip6h->nexthdr != IPPROTO_ICMPV6) + goto out; + + if (!ensure_header(&icmp6, skb, &data, &data_end, ETH_H_LEN + IP6_H_LEN)) + goto out; + + ip6h = data + ETH_H_LEN; + + if (icmp6->icmp6_type != ICMPV6_DEST_UNREACH && icmp6->icmp6_type != ICMPV6_TIME_EXCEED + && icmp6->icmp6_type != ICMPV6_PKT_TOOBIG) + goto out; + + DBG("v6: icmpv6 type %u from native address %pI6c, translating src to dummy ipv4\n", + icmp6->icmp6_type, + &ip6h->saddr); + + addr4 = __cpu_to_be32(INADDR_DUMMY); + } + + /* At this point we know the packet needs translation. If we can't + * rewrite it, it should be dropped. + */ + ret = TC_ACT_SHOT; + + if (ip6h->nexthdr == IPPROTO_TCP || ip6h->nexthdr == IPPROTO_UDP + || ip6h->nexthdr == IPPROTO_ICMPV6) { + translate_ipv6_header(ip6h, &dst_hdr, addr4, config.local_v4.s_addr); + DBG("v6: incoming pkt from src %pI6c (%pI4)\n", &ip6h->saddr, &addr4); + } else if (ip6h->nexthdr == IPPROTO_FRAGMENT) { + struct ip6_frag *frag; + int tot_len; + __u16 offset; + + if (!ensure_header(&frag, skb, &data, &data_end, ETH_H_LEN + IP6_H_LEN)) + goto out; + + ip6h = data + ETH_H_LEN; + + /* Translate into an IPv4 fragmented packet, RFC 6145 5.1.1 */ + + tot_len = bpf_ntohs(ip6h->payload_len) + IP_H_LEN - IP6_FRAG_H_LEN; + + offset = bpf_ntohs(frag->offset); + offset = ((offset & 1) << 13) | /* More Fragments flag */ + (offset >> 3); /* Offset in 8-octet units */ + + dst_hdr = (struct iphdr) { + .version = 4, + .ihl = 5, + .id = bpf_htons(bpf_ntohl(frag->identification) & 0xffff), + .tos = ip6h->priority << 4 | (ip6h->flow_lbl[0] >> 4), + .frag_off = bpf_htons(offset), + .ttl = ip6h->hop_limit, + .protocol = frag->nexthdr == IPPROTO_ICMPV6 ? IPPROTO_ICMP : frag->nexthdr, + .saddr = addr4, + .daddr = config.local_v4.s_addr, + .tot_len = bpf_htons(tot_len), + }; + + dst_hdr.check = csum_fold_helper( + bpf_csum_diff((__be32 *) &dst_hdr, 0, (__be32 *) &dst_hdr, IP_H_LEN, 0)); + + fragmented = true; + + DBG("v6: incoming fragmented pkt from src %pI6c (%pI4), id 0x%x\n", + &ip6h->saddr, + &addr4, + bpf_ntohs(dst_hdr.id)); + } else { + DBG("v6: pkt src/dst %pI6c/%pI6c has nexthdr %u, dropping\n", &ip6h->saddr, &ip6h->daddr); + goto out; + } + + switch (dst_hdr.protocol) { + case IPPROTO_ICMP: + /* We can't update the checksum of ICMP fragmented packets: ICMPv4 doesn't use + * a pseudo header, while the ICMPv6 pseudo-header includes the total payload + * length, which is not known when parsing the first fragment. This makes it + * impossible for a stateless translator to compute the checksum delta. TCP and + * UDP don't have this problem because both the v4 and v6 pseudo-headers include + * the total length. */ + if (fragmented) + goto out; + + if (rewrite_icmpv6(skb, &length_diff)) + goto out; + break; + case IPPROTO_TCP: + case IPPROTO_UDP: + /* Update the L4 headers only for non-fragmented packets or for the first + * fragment, which contains the L4 header. */ + if (!fragmented || (bpf_ntohs(dst_hdr.frag_off) & 0x1FFF) == 0) { + update_l4_checksum(skb, ip6h, &dst_hdr, false, false, fragmented, NULL); + } + break; + default: + break; + } + + /* rewrite_icmpv6() can change the payload length when it rewrites the content of + * an ICMPv6 error packet. Update the length and the checksum. */ + if (length_diff != 0) { + data = SKB_DATA(skb); + data_end = SKB_DATA_END(skb); + + if (!ensure_header(&ip6h, skb, &data, &data_end, ETH_H_LEN)) + goto out; + + dst_hdr.tot_len = bpf_htons(bpf_ntohs(ip6h->payload_len) + length_diff + IP_H_LEN); + + dst_hdr.check = 0; + dst_hdr.check = csum_fold_helper( + bpf_csum_diff((__be32 *) &dst_hdr, 0, (__be32 *) &dst_hdr, IP_H_LEN, 0)); + } + + if (bpf_skb_change_proto(skb, bpf_htons(ETH_P_IP), 0)) + goto out; + + if (fragmented) { + /* Remove the IPv6 fragment header */ + if (bpf_skb_adjust_room(skb, -(__s32) IP6_FRAG_H_LEN, BPF_ADJ_ROOM_NET, 0)) + goto out; + } + + data = SKB_DATA(skb); + data_end = SKB_DATA_END(skb); + + if (!ensure_header(&iph, skb, &data, &data_end, ETH_H_LEN)) + goto out; + + eth = data; + eth->h_proto = bpf_htons(ETH_P_IP); + *iph = dst_hdr; + + ret = bpf_redirect(skb->ifindex, BPF_F_INGRESS); +out: + return ret; +} + +SEC("tcx/egress") +int +clat_egress(struct __sk_buff *skb) +{ + return clat_handle_v4(skb); +} + +SEC("tcx/ingress") +int +clat_ingress(struct __sk_buff *skb) +{ + return clat_handle_v6(skb); +} diff --git a/src/core/bpf/clat.h b/src/core/bpf/clat.h new file mode 100644 index 0000000000..3d926b527f --- /dev/null +++ b/src/core/bpf/clat.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __NAT64_H__ +#define __NAT64_H__ + +#include + +struct clat_config { + struct in6_addr local_v6; + struct in6_addr pref64; + struct in_addr local_v4; + unsigned pref64_len; +}; + +#endif diff --git a/src/core/bpf/meson.build b/src/core/bpf/meson.build new file mode 100644 index 0000000000..39b978dd75 --- /dev/null +++ b/src/core/bpf/meson.build @@ -0,0 +1,239 @@ +# SPDX-License-Identifier: LGPL-2.1+ + +# Ripped from systemd: https://github.com/systemd/systemd/pull/20429 + +if not enable_clat + subdir_done() +endif + +bpf_compiler = get_option('bpf-compiler') +clang_found = false +clang_supports_bpf = false +bpf_gcc_found = false +bpftool_strip = false + +if bpf_compiler == 'clang' or bpf_compiler == 'auto' + # Support 'versioned' clang/llvm-strip binaries, as seen on Debian/Ubuntu + # (like clang-10/llvm-strip-10) + if meson.is_cross_build() or cc.get_id() != 'clang' or cc.cmd_array()[0].contains('afl-clang') or cc.cmd_array()[0].contains('hfuzz-clang') + r = find_program('clang', + version : '>= 10.0.0') + clang_found = r.found() + if clang_found + if meson.version().version_compare('>= 0.55') + clang = r.full_path() + else + clang = r.path() + endif + endif + else + clang_found = true + clang = cc.cmd_array() + endif + + if clang_found + # Check if 'clang -target bpf' is supported. + clang_supports_bpf = run_command(clang, '-target', 'bpf', '--print-supported-cpus', check : false).returncode() == 0 + endif +elif bpf_compiler == 'gcc' or bpf_compiler == 'auto' + bpf_gcc = find_program('bpf-gcc', + 'bpf-none-gcc', + 'bpf-unknown-none-gcc', + version : '>= 13.1.0') + bpf_gcc_found = bpf_gcc.found() +endif + +if bpf_compiler == 'auto' + if clang_supports_bpf and bpf_gcc_found + # Both supported, prefer the one matching our compiler: + if cc.get_id() == 'gcc' + bpf_compiler = 'gcc' + else + # Default to clang if we don't know this compiler + bpf_compiler = 'clang' + endif + elif clang_supports_bpf + bpf_compiler = 'clang' + elif bpf_gcc_found + bpf_compiler = 'clang' + endif +endif + +if clang_supports_bpf or bpf_gcc_found + # Debian installs this in /usr/sbin/ which is not in $PATH. + # We check for 'bpftool' first, honouring $PATH, and in /usr/sbin/ for Debian. + # We use 'bpftool gen object' subcommand for bpftool strip, it was added by d80b2fcbe0a023619e0fc73112f2a02c2662f6ab (v5.13). + bpftool = find_program('bpftool', + '/usr/sbin/bpftool', + required : bpf_compiler == 'gcc', + version : bpf_compiler == 'gcc' ? '>= 7.0.0' : '>= 5.13.0') + + if bpftool.found() + bpftool_strip = true + elif bpf_compiler == 'clang' + # We require the 'bpftool gen skeleton' subcommand, it was added by 985ead416df39d6fe8e89580cc1db6aa273e0175 (v5.6). + bpftool = find_program('bpftool', + '/usr/sbin/bpftool', + required : true, + version : '>= 5.6.0') + endif + + # We use `llvm-strip` as a fallback if `bpftool gen object` strip support is not available. + if not bpftool_strip and bpftool.found() and clang_supports_bpf + if not meson.is_cross_build() + llvm_strip_bin = run_command(clang, '--print-prog-name', 'llvm-strip', + check : true).stdout().strip() + else + llvm_strip_bin = 'llvm-strip' + endif + llvm_strip = find_program(llvm_strip_bin, + required : true, + version : '>= 10.0.0') + endif +else + error('clat support was enabled but couldn\'t find a suitable BPF compiler!') +endif + +bpf_clang_flags = [ + '-std=gnu17', + '-Wunused', + '-Wimplicit-fallthrough', + '-Wno-compare-distinct-pointer-types', + '-fno-stack-protector', + '-O2', + '-target', + 'bpf', + '-g', + '-c', +] + +bpf_gcc_flags = [ + '-std=gnu17', + '-Wunused', + '-Wimplicit-fallthrough', + '-fno-stack-protector', + '-fno-ssa-phiopt', + '-O2', + '-mcpu=v3', + '-mco-re', + '-gbtf', + '-c', +] + +clang_arch_flag = '-D__@0@__'.format(host_machine.cpu_family()) + +libbpf_include_dir = dependency('libbpf').get_variable(pkgconfig : 'includedir') + +# Generate defines that are appropriate to tell the compiler what architecture +# we're compiling for. By default we just map meson's cpu_family to ____. +# This dictionary contains the exceptions where this doesn't work. +# +# C.f. https://mesonbuild.com/Reference-tables.html#cpu-families +# and src/basic/missing_syscall_def.h. +cpu_arch_defines = { + 'ppc' : ['-D__powerpc__', '-D__TARGET_ARCH_powerpc'], + 'ppc64' : ['-D__powerpc64__', '-D__TARGET_ARCH_powerpc', '-D_CALL_ELF=2'], + 'riscv32' : ['-D__riscv', '-D__riscv_xlen=32', '-D__TARGET_ARCH_riscv'], + 'riscv64' : ['-D__riscv', '-D__riscv_xlen=64', '-D__TARGET_ARCH_riscv'], + 'x86' : ['-D__i386__', '-D__TARGET_ARCH_x86'], + 's390x' : ['-D__s390__', '-D__s390x__', '-D__TARGET_ARCH_s390'], + + # For arm, assume hardware fp is available. + 'arm' : ['-D__arm__', '-D__ARM_PCS_VFP', '-D__TARGET_ARCH_arm'], + 'loongarch64' : ['-D__loongarch__', '-D__loongarch_grlen=64', '-D__TARGET_ARCH_loongarch'] +} + +bpf_arch_flags = cpu_arch_defines.get(host_machine.cpu_family(), + ['-D__@0@__'.format(host_machine.cpu_family())]) +if bpf_compiler == 'gcc' + bpf_arch_flags += ['-m' + host_machine.endian() + '-endian'] +endif + +bpf_o_unstripped_cmd = [] +if bpf_compiler == 'clang' + bpf_o_unstripped_cmd += [ + clang, + bpf_clang_flags, + bpf_arch_flags, + ] +elif bpf_compiler == 'gcc' + bpf_o_unstripped_cmd += [ + bpf_gcc, + bpf_gcc_flags, + bpf_arch_flags, + ] +endif + +bpf_o_unstripped_cmd += ['-I.'] + +if cc.get_id() == 'gcc' or meson.is_cross_build() + if cc.get_id() != 'gcc' + warning('Cross compiler is not gcc. Guessing the target triplet for bpf likely fails.') + endif + target_triplet_cmd = run_command(cc.cmd_array(), '-print-multiarch', check: false) +else + # clang does not support -print-multiarch (D133170) and its -dump-machine + # does not match multiarch. Query gcc instead. + target_triplet_cmd = run_command('gcc', '-print-multiarch', check: false) +endif + +if target_triplet_cmd.returncode() == 0 + target_triplet = target_triplet_cmd.stdout().strip() + bpf_o_unstripped_cmd += [ + '-isystem', + '/usr/include/@0@'.format(target_triplet) + ] +endif + +bpf_o_unstripped_cmd += [ + '-idirafter', + libbpf_include_dir, + '@INPUT@', + '-o', + '@OUTPUT@' +] + +if bpftool_strip + bpf_o_cmd = [ + bpftool, + 'gen', + 'object', + '@OUTPUT@', + '@INPUT@' + ] +elif bpf_compiler == 'clang' + bpf_o_cmd = [ + llvm_strip, + '-g', + '@INPUT@', + '-o', + '@OUTPUT@' + ] +endif + +skel_h_cmd = [ + bpftool, + 'g', + 's', + '@INPUT@' +] + +clat_bpf_o_unstripped = custom_target( + 'clat.bpf.unstripped.o', + input : 'clat.bpf.c', + output : 'clat.bpf.unstripped.o', + command : bpf_o_unstripped_cmd) + +clat_bpf_o = custom_target( + 'clat.bpf.o', + input : clat_bpf_o_unstripped, + output : 'clat.bpf.o', + command : bpf_o_cmd) + +clat_skel_h = custom_target( + 'clat.skel.h', + input : clat_bpf_o, + output : 'clat.skel.h', + command : skel_h_cmd, + capture : true) + diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c index de8edc8064..ad6602c05a 100644 --- a/src/core/devices/nm-device.c +++ b/src/core/devices/nm-device.c @@ -906,10 +906,11 @@ static void concheck_update_state(NMDevice *self, static void sriov_op_cb(GError *error, gpointer user_data); static void device_ifindex_changed_cb(NMManager *manager, NMDevice *device_changed, NMDevice *self); -static gboolean device_link_changed(gpointer user_data); -static gboolean _get_maybe_ipv6_disabled(NMDevice *self); -static void deactivate_ready(NMDevice *self, NMDeviceStateReason reason); -static void carrier_disconnected_action_cancel(NMDevice *self); +static gboolean device_link_changed(gpointer user_data); +static gboolean _get_maybe_ipv6_disabled(NMDevice *self); +static void deactivate_ready(NMDevice *self, NMDeviceStateReason reason); +static void carrier_disconnected_action_cancel(NMDevice *self); +static const char *nm_device_get_effective_ip_config_method(NMDevice *self, int addr_family); /*****************************************************************************/ @@ -1523,6 +1524,40 @@ _prop_get_connection_dnssec(NMDevice *self, NMConnection *connection) NM_SETTING_CONNECTION_DNSSEC_DEFAULT); } +static NMSettingIp4ConfigClat +_prop_get_ipv4_clat(NMDevice *self) +{ + NMSettingIP4Config *s_ip4 = NULL; + NMSettingIp4ConfigClat clat; + const char *method; + + s_ip4 = nm_device_get_applied_setting(self, NM_TYPE_SETTING_IP4_CONFIG); + if (!s_ip4) + return NM_SETTING_IP4_CONFIG_CLAT_NO; + + method = nm_device_get_effective_ip_config_method(self, AF_INET); + if (nm_streq(method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED)) + return NM_SETTING_IP4_CONFIG_CLAT_NO; + + clat = nm_setting_ip4_config_get_clat(s_ip4); + if (clat == NM_SETTING_IP4_CONFIG_CLAT_DEFAULT) { + clat = nm_config_data_get_connection_default_int64(NM_CONFIG_GET_DATA, + NM_CON_DEFAULT("ipv4.clat"), + self, + NM_SETTING_IP4_CONFIG_CLAT_NO, + NM_SETTING_IP4_CONFIG_CLAT_FORCE, + NM_SETTING_IP4_CONFIG_CLAT_NO); + } + + if (clat == NM_SETTING_IP4_CONFIG_CLAT_AUTO + && !nm_streq(method, NM_SETTING_IP4_CONFIG_METHOD_AUTO)) { + /* clat=auto enables CLAT only with method=auto */ + clat = NM_SETTING_IP4_CONFIG_CLAT_NO; + } + + return clat; +} + static NMMptcpFlags _prop_get_connection_mptcp_flags(NMDevice *self, NMConnection *connection) { @@ -1921,26 +1956,43 @@ _prop_get_ipvx_may_fail_cached(NMDevice *self, int addr_family, NMTernary *cache } static gboolean -_prop_get_ipv4_dhcp_ipv6_only_preferred(NMDevice *self) +_prop_get_ipv4_dhcp_ipv6_only_preferred(NMDevice *self, gboolean *out_is_auto) { NMSettingIP4Config *s_ip4; NMSettingIP4DhcpIpv6OnlyPreferred ipv6_only; + NM_SET_OUT(out_is_auto, FALSE); + s_ip4 = nm_device_get_applied_setting(self, NM_TYPE_SETTING_IP4_CONFIG); if (!s_ip4) return FALSE; ipv6_only = nm_setting_ip4_config_get_dhcp_ipv6_only_preferred(s_ip4); - if (ipv6_only != NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT) - return ipv6_only; + if (ipv6_only == NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT) { + ipv6_only = nm_config_data_get_connection_default_int64( + NM_CONFIG_GET_DATA, + NM_CON_DEFAULT("ipv4.dhcp-ipv6-only-preferred"), + self, + NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO, + NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO, + NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO); + } - return nm_config_data_get_connection_default_int64( - NM_CONFIG_GET_DATA, - NM_CON_DEFAULT("ipv4.dhcp-ipv6-only-preferred"), - self, - NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO, - NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES, - NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO); + if (NM_IN_SET(ipv6_only, + NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES, + NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO)) + return ipv6_only == NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES; + + /* auto */ + NM_SET_OUT(out_is_auto, TRUE); + + if (nm_streq0(nm_device_get_effective_ip_config_method(self, AF_INET6), + NM_SETTING_IP6_CONFIG_METHOD_AUTO) + && _prop_get_ipv4_clat(self) != NM_SETTING_IP4_CONFIG_CLAT_NO) { + return TRUE; + } + + return FALSE; } /** @@ -3641,6 +3693,7 @@ nm_device_create_l3_config_data_from_connection(NMDevice *self, NMConnection *co nm_l3_config_data_set_dnssec(l3cd, _prop_get_connection_dnssec(self, connection)); nm_l3_config_data_set_ip6_privacy(l3cd, _prop_get_ipv6_ip6_privacy(self, connection)); nm_l3_config_data_set_mptcp_flags(l3cd, _prop_get_connection_mptcp_flags(self, connection)); + return l3cd; } @@ -4923,7 +4976,7 @@ _dev_l3_cfg_notify_cb(NML3Cfg *l3cfg, const NML3ConfigNotifyData *notify_data, N if (state >= NM_DEVICE_STATE_IP_CONFIG && state < NM_DEVICE_STATE_DEACTIVATING) { /* FIXME(l3cfg): MTU handling should be moved to l3cfg. */ if (l3cd) - priv->ip6_mtu = nm_l3_config_data_get_ip6_mtu(l3cd); + priv->ip6_mtu = nm_l3_config_data_get_ip6_mtu_ra(l3cd); _commit_mtu(self); } _dev_ipll4_check_fallback(self, l3cd); @@ -11467,6 +11520,8 @@ _dev_ipmanual_start(NMDevice *self) if (_prop_get_ipvx_routed_dns(self, AF_INET6) == NM_SETTING_IP_CONFIG_ROUTED_DNS_YES) { nm_l3_config_data_set_routed_dns(l3cd, AF_INET6, TRUE); } + + nm_l3_config_data_set_clat(l3cd, _prop_get_ipv4_clat(self)); } if (!l3cd) { @@ -11775,8 +11830,9 @@ _dev_ipdhcpx_start(NMDevice *self, int addr_family) gboolean hostname_is_fqdn; gboolean send_client_id; guint8 dscp; - gboolean dscp_explicit = FALSE; - gboolean ipv6_only_pref = FALSE; + gboolean dscp_explicit = FALSE; + gboolean ipv6_only_pref = FALSE; + gboolean ipv6_only_pref_auto = FALSE; client_id = _prop_get_ipv4_dhcp_client_id(self, connection, hwaddr, &send_client_id); dscp = _prop_get_ipv4_dhcp_dscp(self, &dscp_explicit); @@ -11795,13 +11851,15 @@ _dev_ipdhcpx_start(NMDevice *self, int addr_family) hostname = nm_setting_ip_config_get_dhcp_hostname(s_ip); } - if (_prop_get_ipv4_dhcp_ipv6_only_preferred(self)) { + if (_prop_get_ipv4_dhcp_ipv6_only_preferred(self, &ipv6_only_pref_auto)) { if (nm_streq0(priv->ipv6_method, NM_SETTING_IP6_CONFIG_METHOD_DISABLED)) { _LOGI_ipdhcp( addr_family, "not requesting the \"IPv6-only preferred\" option because IPv6 is disabled"); } else { - _LOGD_ipdhcp(addr_family, "requesting the \"IPv6-only preferred\" option"); + _LOGD_ipdhcp(addr_family, + "requesting the \"IPv6-only preferred\" option (%s enabled)", + ipv6_only_pref_auto ? "automatically" : "explicitly"); ipv6_only_pref = TRUE; } } diff --git a/src/core/dhcp/nm-dhcp-client.c b/src/core/dhcp/nm-dhcp-client.c index 18ad4024b4..cc6dccdfa4 100644 --- a/src/core/dhcp/nm-dhcp-client.c +++ b/src/core/dhcp/nm-dhcp-client.c @@ -1460,7 +1460,9 @@ nm_dhcp_client_schedule_ipv6_only_restart(NMDhcpClient *self, guint timeout) nm_assert(!priv->is_stopped); timeout = NM_MAX(priv->v4.ipv6_only_min_wait, timeout); - _LOGI("received option \"ipv6-only-preferred\": stopping DHCPv4 for %u seconds", timeout); + _LOGI("received option \"ipv6-only-preferred\": stopping DHCPv4 for %u seconds. Set " + "ipv4.dhcp-ipv6-only-preferred=no to force the use of IPv4 on this IPv6-mostly network", + timeout); nm_dhcp_client_stop(self, FALSE); nm_clear_g_source_inst(&priv->no_lease_timeout_source); diff --git a/src/core/meson.build b/src/core/meson.build index 6cf891ee7e..26d27f96e2 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -32,6 +32,15 @@ install_data( core_plugins = [] +subdir('bpf') + +base_sources_addon = [] +base_deps_addon = [] +if enable_clat + base_sources_addon += [clat_skel_h] + base_deps_addon += [libbpf] +endif + libNetworkManagerBase = static_library( 'NetworkManagerBase', sources: files( @@ -55,13 +64,13 @@ libNetworkManagerBase = static_library( 'nm-l3cfg.c', 'nm-bond-manager.c', 'nm-ip-config.c', - ), + ) + base_sources_addon, dependencies: [ core_default_dep, libnm_core_public_dep, libsystemd_dep, libudev_dep, - ], + ] + base_deps_addon, ) nm_deps = [ diff --git a/src/core/ndisc/nm-lndp-ndisc.c b/src/core/ndisc/nm-lndp-ndisc.c index c19dcc910b..69cb733a77 100644 --- a/src/core/ndisc/nm-lndp-ndisc.c +++ b/src/core/ndisc/nm-lndp-ndisc.c @@ -162,6 +162,7 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) int offset; int hop_limit; guint32 val; + gboolean pref64_found = FALSE; /* Router discovery is subject to the following RFC documents: * @@ -401,6 +402,31 @@ receive_ra(struct ndp *ndp, struct ndp_msg *msg, gpointer user_data) } } + /* PREF64 */ + ndp_msg_opt_for_each_offset (offset, msg, NDP_MSG_OPT_PREF64) { + struct in6_addr pref64_prefix = *ndp_msg_opt_pref64_prefix(msg, offset); + guint8 pref64_length = ndp_msg_opt_pref64_prefix_length(msg, offset); + gint64 expiry_msec = + _nm_ndisc_lifetime_to_expiry(now_msec, ndp_msg_opt_pref64_lifetime(msg, offset)); + + /* libndp should only return lengths defined in RFC 8781 */ + nm_assert(NM_IN_SET(pref64_length, 96, 64, 56, 48, 40, 32)); + + /* Newer RA has more up to date information, prefer it: */ + if (!pref64_found) { + pref64_found = TRUE; + rdata->public.pref64.expiry_msec = 0; + } + + if (expiry_msec >= rdata->public.pref64.expiry_msec) { + rdata->public.pref64.network = pref64_prefix; + rdata->public.pref64.expiry_msec = expiry_msec; + rdata->public.pref64.plen = pref64_length; + rdata->public.pref64.valid = TRUE; + changed |= NM_NDISC_CONFIG_PREF64; + } + } + nm_ndisc_ra_received(ndisc, now_msec, changed); return 0; } diff --git a/src/core/ndisc/nm-ndisc-private.h b/src/core/ndisc/nm-ndisc-private.h index 1479e5666e..697700eb26 100644 --- a/src/core/ndisc/nm-ndisc-private.h +++ b/src/core/ndisc/nm-ndisc-private.h @@ -14,6 +14,7 @@ struct _NMNDiscDataInternal { NMNDiscData public; GArray *gateways; GArray *addresses; + GArray *clat_addresses; GArray *routes; GArray *dns_servers; GArray *dns_domains; diff --git a/src/core/ndisc/nm-ndisc.c b/src/core/ndisc/nm-ndisc.c index 1a2bf48072..bbd2a14f9a 100644 --- a/src/core/ndisc/nm-ndisc.c +++ b/src/core/ndisc/nm-ndisc.c @@ -109,7 +109,8 @@ nm_ndisc_data_to_l3cd(NMDedupMultiIndex *multi_idx, int ifindex, const NMNDiscData *rdata, NMSettingIP6ConfigPrivacy ip6_privacy, - NMUtilsIPv6IfaceId *token) + NMUtilsIPv6IfaceId *token, + const char *network_id) { nm_auto_unref_l3cd_init NML3ConfigData *l3cd = NULL; guint32 ifa_flags; @@ -211,13 +212,21 @@ nm_ndisc_data_to_l3cd(NMDedupMultiIndex *multi_idx, for (i = 0; i < rdata->dns_domains_n; i++) nm_l3_config_data_add_search(l3cd, AF_INET6, rdata->dns_domains[i].domain); + if (rdata->pref64.valid) { + nm_l3_config_data_set_pref64(l3cd, rdata->pref64.network, rdata->pref64.plen); + } else { + nm_l3_config_data_set_pref64_valid(l3cd, FALSE); + } + nm_l3_config_data_set_ndisc_hop_limit(l3cd, rdata->hop_limit); nm_l3_config_data_set_ndisc_reachable_time_msec(l3cd, rdata->reachable_time_ms); nm_l3_config_data_set_ndisc_retrans_timer_msec(l3cd, rdata->retrans_timer_ms); - nm_l3_config_data_set_ip6_mtu(l3cd, rdata->mtu); + nm_l3_config_data_set_ip6_mtu_ra(l3cd, rdata->mtu); if (token) nm_l3_config_data_set_ip6_token(l3cd, *token); + if (network_id) + nm_l3_config_data_set_network_id(l3cd, network_id); return g_steal_pointer(&l3cd); } @@ -437,7 +446,8 @@ nm_ndisc_emit_config_change(NMNDisc *self, NMNDiscConfigMap changed) nm_l3cfg_get_ifindex(priv->config.l3cfg), rdata, priv->config.ip6_privacy, - priv->iid_is_token ? &priv->iid : NULL); + priv->iid_is_token ? &priv->iid : NULL, + priv->config.network_id); l3cd = nm_l3_config_data_seal(l3cd); if (!nm_l3_config_data_equal(priv->l3cd, l3cd)) @@ -1524,6 +1534,19 @@ clean_routes(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *changed |= NM_NDISC_CONFIG_ROUTES; } +static void +clean_pref64(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) +{ + NMNDiscDataInternal *rdata = &NM_NDISC_GET_PRIVATE(ndisc)->rdata; + + if (!rdata->public.pref64.valid) + return; + if (!expiry_next(now_msec, rdata->public.pref64.expiry_msec, next_msec)) { + rdata->public.pref64.valid = FALSE; + *changed |= NM_NDISC_CONFIG_PREF64; + } +} + static void clean_dns_servers(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap *changed, gint64 *next_msec) { @@ -1600,6 +1623,7 @@ check_timestamps(NMNDisc *ndisc, gint64 now_msec, NMNDiscConfigMap changed) clean_gateways(ndisc, now_msec, &changed, &next_msec); clean_addresses(ndisc, now_msec, &changed, &next_msec); clean_routes(ndisc, now_msec, &changed, &next_msec); + clean_pref64(ndisc, now_msec, &changed, &next_msec); clean_dns_servers(ndisc, now_msec, &changed, &next_msec); clean_dns_domains(ndisc, now_msec, &changed, &next_msec); diff --git a/src/core/ndisc/nm-ndisc.h b/src/core/ndisc/nm-ndisc.h index 8f1a12a267..416c319117 100644 --- a/src/core/ndisc/nm-ndisc.h +++ b/src/core/ndisc/nm-ndisc.h @@ -119,6 +119,13 @@ typedef struct _NMNDiscRoute { bool duplicate : 1; } NMNDiscRoute; +typedef struct _NMNDiscPref64 { + struct in6_addr network; + gint64 expiry_msec; + guint8 plen; + bool valid : 1; +} NMNDiscPref64; + typedef struct { struct in6_addr address; gint64 expiry_msec; @@ -141,6 +148,7 @@ typedef enum { NM_NDISC_CONFIG_MTU = 1 << 7, NM_NDISC_CONFIG_REACHABLE_TIME = 1 << 8, NM_NDISC_CONFIG_RETRANS_TIMER = 1 << 9, + NM_NDISC_CONFIG_PREF64 = 1 << 10, } NMNDiscConfigMap; typedef enum { @@ -196,6 +204,8 @@ typedef struct { const NMNDiscRoute *routes; const NMNDiscDNSServer *dns_servers; const NMNDiscDNSDomain *dns_domains; + + NMNDiscPref64 pref64; } NMNDiscData; /** @@ -282,6 +292,7 @@ struct _NML3ConfigData *nm_ndisc_data_to_l3cd(NMDedupMultiIndex *multi_id int ifindex, const NMNDiscData *rdata, NMSettingIP6ConfigPrivacy ip6_privacy, - NMUtilsIPv6IfaceId *token); + NMUtilsIPv6IfaceId *token, + const char *network_id); #endif /* __NETWORKMANAGER_NDISC_H__ */ diff --git a/src/core/nm-core-utils.h b/src/core/nm-core-utils.h index 7ba5c3801e..b288ed2b6e 100644 --- a/src/core/nm-core-utils.h +++ b/src/core/nm-core-utils.h @@ -304,6 +304,7 @@ typedef enum { NM_UTILS_STABLE_TYPE_STABLE_ID = 1, NM_UTILS_STABLE_TYPE_GENERATED = 2, NM_UTILS_STABLE_TYPE_RANDOM = 3, + NM_UTILS_STABLE_TYPE_CLAT = 4, } NMUtilsStableType; #define NM_UTILS_STABLE_TYPE_NONE ((NMUtilsStableType) - 1) diff --git a/src/core/nm-l3-config-data.c b/src/core/nm-l3-config-data.c index 328f59b6ce..8d1d6ec926 100644 --- a/src/core/nm-l3-config-data.c +++ b/src/core/nm-l3-config-data.c @@ -50,6 +50,9 @@ struct _NML3ConfigData { const NMPObject *best_default_route_x[2]; }; + struct in6_addr pref64_prefix; + guint32 pref64_plen; + GArray *wins; GArray *nis_servers; @@ -122,6 +125,8 @@ struct _NML3ConfigData { NMSettingConnectionDnsOverTls dns_over_tls; NMSettingConnectionDnssec dnssec; NMUtilsIPv6IfaceId ip6_token; + NMSettingIp4ConfigClat clat; + NMRefString *network_id; NML3ConfigDatFlags flags; @@ -130,7 +135,8 @@ struct _NML3ConfigData { int ndisc_hop_limit_val; guint32 mtu; - guint32 ip6_mtu; + guint32 ip6_mtu_static; /* IPv6 MTU from the connection profile */ + guint32 ip6_mtu_ra; /* IPv6 MTU from Router Advertisement */ guint32 ndisc_reachable_time_msec_val; guint32 ndisc_retrans_timer_msec_val; @@ -167,6 +173,8 @@ struct _NML3ConfigData { bool routed_dns_4 : 1; bool routed_dns_6 : 1; + + bool pref64_valid : 1; }; /*****************************************************************************/ @@ -390,8 +398,11 @@ nm_l3_config_data_log(const NML3ConfigData *self, : "", !self->is_sealed ? ", not-sealed" : ""); - if (self->mtu != 0 || self->ip6_mtu != 0) { - _L("mtu: %u, ip6-mtu: %u", self->mtu, self->ip6_mtu); + if (self->mtu != 0 || self->ip6_mtu_static != 0 || self->ip6_mtu_ra != 0) { + _L("mtu: %u, ip6-mtu-static: %u, ip6-mtu-ra %u", + self->mtu, + self->ip6_mtu_static, + self->ip6_mtu_ra); } for (IS_IPv4 = 1; IS_IPv4 >= 0; IS_IPv4--) { @@ -519,6 +530,19 @@ nm_l3_config_data_log(const NML3ConfigData *self, _L("nis-domain: %s", self->nis_domain->str); } + if (!IS_IPv4) { + if (self->clat == NM_SETTING_IP4_CONFIG_CLAT_AUTO) + _L("clat: auto"); + else if (self->clat == NM_SETTING_IP4_CONFIG_CLAT_FORCE) + _L("clat: force"); + } + + if (!IS_IPv4 && self->pref64_valid) { + _L("pref64_prefix: %s/%d", + nm_utils_inet6_ntop(&self->pref64_prefix, sbuf_addr), + self->pref64_plen); + } + if (self->dhcp_lease_x[IS_IPv4]) { gs_free NMUtilsNamedValue *options_free = NULL; NMUtilsNamedValue options_buffer[30]; @@ -603,6 +627,10 @@ nm_l3_config_data_log(const NML3ConfigData *self, nm_utils_inet6_interface_identifier_to_token(&self->ip6_token, sbuf_addr)); } + if (self->network_id) { + _L("network-id: %s", self->network_id->str); + } + if (self->metered != NM_TERNARY_DEFAULT) _L("metered: %s", self->metered ? "yes" : "no"); @@ -709,6 +737,7 @@ nm_l3_config_data_new(NMDedupMultiIndex *multi_idx, int ifindex, NMIPConfigSourc .flags = NM_L3_CONFIG_DAT_FLAGS_NONE, .metered = NM_TERNARY_DEFAULT, .proxy_browser_only = NM_TERNARY_DEFAULT, + .clat = NM_SETTING_IP4_CONFIG_CLAT_NO, .proxy_method = NM_PROXY_CONFIG_METHOD_UNKNOWN, .route_table_sync_4 = NM_IP_ROUTE_TABLE_SYNC_MODE_NONE, .route_table_sync_6 = NM_IP_ROUTE_TABLE_SYNC_MODE_NONE, @@ -722,6 +751,7 @@ nm_l3_config_data_new(NMDedupMultiIndex *multi_idx, int ifindex, NMIPConfigSourc .ndisc_retrans_timer_msec_set = FALSE, .allow_routes_without_address_4 = TRUE, .allow_routes_without_address_6 = TRUE, + .pref64_valid = FALSE, }; _idx_type_init(&self->idx_addresses_4, NMP_OBJECT_TYPE_IP4_ADDRESS); @@ -822,6 +852,7 @@ nm_l3_config_data_unref(const NML3ConfigData *self) nm_ref_string_unref(mutable->nis_domain); nm_ref_string_unref(mutable->proxy_pac_url); nm_ref_string_unref(mutable->proxy_pac_script); + nm_ref_string_unref(mutable->network_id); nm_g_slice_free(mutable); } @@ -1890,22 +1921,42 @@ nm_l3_config_data_set_mtu(NML3ConfigData *self, guint32 mtu) } guint32 -nm_l3_config_data_get_ip6_mtu(const NML3ConfigData *self) +nm_l3_config_data_get_ip6_mtu_static(const NML3ConfigData *self) { nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); - return self->ip6_mtu; + return self->ip6_mtu_static; } gboolean -nm_l3_config_data_set_ip6_mtu(NML3ConfigData *self, guint32 ip6_mtu) +nm_l3_config_data_set_ip6_mtu_static(NML3ConfigData *self, guint32 ip6_mtu) { nm_assert(_NM_IS_L3_CONFIG_DATA(self, FALSE)); - if (self->ip6_mtu == ip6_mtu) + if (self->ip6_mtu_static == ip6_mtu) return FALSE; - self->ip6_mtu = ip6_mtu; + self->ip6_mtu_static = ip6_mtu; + return TRUE; +} + +guint32 +nm_l3_config_data_get_ip6_mtu_ra(const NML3ConfigData *self) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); + + return self->ip6_mtu_ra; +} + +gboolean +nm_l3_config_data_set_ip6_mtu_ra(NML3ConfigData *self, guint32 ip6_mtu) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, FALSE)); + + if (self->ip6_mtu_ra == ip6_mtu) + return FALSE; + + self->ip6_mtu_ra = ip6_mtu; return TRUE; } @@ -1957,6 +2008,92 @@ nm_l3_config_data_set_ip6_token(NML3ConfigData *self, NMUtilsIPv6IfaceId ipv6_to return TRUE; } +const char * +nm_l3_config_data_get_network_id(const NML3ConfigData *self) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); + + return nm_ref_string_get_str(self->network_id); +} + +gboolean +nm_l3_config_data_set_network_id(NML3ConfigData *self, const char *value) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, FALSE)); + + return nm_ref_string_reset_str(&self->network_id, value); +} + +gboolean +nm_l3_config_data_set_clat(NML3ConfigData *self, NMSettingIp4ConfigClat val) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, FALSE)); + nm_assert(NM_IN_SET(val, + NM_SETTING_IP4_CONFIG_CLAT_NO, + NM_SETTING_IP4_CONFIG_CLAT_FORCE, + NM_SETTING_IP4_CONFIG_CLAT_AUTO)); + + if (self->clat == val) + return FALSE; + self->clat = val; + return TRUE; +} + +NMSettingIp4ConfigClat +nm_l3_config_data_get_clat(const NML3ConfigData *self) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); + + return self->clat; +} + +gboolean +nm_l3_config_data_set_pref64_valid(NML3ConfigData *self, gboolean val) +{ + if (self->pref64_valid == val) + return FALSE; + self->pref64_valid = val; + return TRUE; +} + +gboolean +nm_l3_config_data_get_pref64_valid(const NML3ConfigData *self) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); + + return self->pref64_valid; +} + +gboolean +nm_l3_config_data_get_pref64(const NML3ConfigData *self, + struct in6_addr *out_prefix, + guint32 *out_plen) +{ + nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); + + if (!self->pref64_valid) + return FALSE; + NM_SET_OUT(out_prefix, self->pref64_prefix); + NM_SET_OUT(out_plen, self->pref64_plen); + return TRUE; +} + +gboolean +nm_l3_config_data_set_pref64(NML3ConfigData *self, struct in6_addr prefix, guint32 plen) +{ + if (self->pref64_valid) { + if (self->pref64_plen == plen + && nm_ip6_addr_same_prefix(&self->pref64_prefix, &prefix, plen)) { + return FALSE; + } + } else { + self->pref64_valid = TRUE; + } + self->pref64_prefix = prefix; + self->pref64_plen = plen; + return TRUE; +} + NMMptcpFlags nm_l3_config_data_get_mptcp_flags(const NML3ConfigData *self) { @@ -2484,8 +2621,10 @@ nm_l3_config_data_cmp_full(const NML3ConfigData *a, if (NM_FLAGS_HAS(flags, NM_L3_CONFIG_CMP_FLAGS_OTHER)) { NM_CMP_DIRECT(a->flags, b->flags); NM_CMP_DIRECT(a->ip6_token.id, b->ip6_token.id); + NM_CMP_DIRECT_REF_STRING(a->network_id, b->network_id); NM_CMP_DIRECT(a->mtu, b->mtu); - NM_CMP_DIRECT(a->ip6_mtu, b->ip6_mtu); + NM_CMP_DIRECT(a->ip6_mtu_static, b->ip6_mtu_static); + NM_CMP_DIRECT(a->ip6_mtu_ra, b->ip6_mtu_ra); NM_CMP_DIRECT_UNSAFE(a->metered, b->metered); NM_CMP_DIRECT_UNSAFE(a->proxy_browser_only, b->proxy_browser_only); NM_CMP_DIRECT_UNSAFE(a->proxy_method, b->proxy_method); @@ -2509,6 +2648,15 @@ nm_l3_config_data_cmp_full(const NML3ConfigData *a, NM_CMP_DIRECT_UNSAFE(a->routed_dns_4, b->routed_dns_4); NM_CMP_DIRECT_UNSAFE(a->routed_dns_6, b->routed_dns_6); + NM_CMP_DIRECT_UNSAFE(a->clat, b->clat); + + NM_CMP_DIRECT(!!a->pref64_valid, !!b->pref64_valid); + if (a->pref64_valid) { + NM_CMP_DIRECT(a->pref64_plen, b->pref64_plen); + NM_CMP_RETURN_DIRECT( + nm_ip6_addr_same_prefix_cmp(&a->pref64_prefix, &b->pref64_prefix, a->pref64_plen)); + } + NM_CMP_FIELD(a, b, source); } @@ -2524,8 +2672,10 @@ nm_l3_config_data_cmp_full(const NML3ConfigData *a, /*****************************************************************************/ -static const NMPObject * -_data_get_direct_route_for_host(const NML3ConfigData *self, int addr_family, gconstpointer host) +const NMPObject * +nm_l3_config_data_get_direct_route_for_host(const NML3ConfigData *self, + int addr_family, + gconstpointer host) { const int IS_IPv4 = NM_IS_IPv4(addr_family); const NMPObject *best_route_obj = NULL; @@ -2683,7 +2833,7 @@ nm_l3_config_data_add_dependent_onlink_routes(NML3ConfigData *self, int addr_fam if (NM_FLAGS_HAS(route_src->rx.r_rtm_flags, (unsigned) RTNH_F_ONLINK)) continue; - if (_data_get_direct_route_for_host(self, addr_family, p_gateway)) + if (nm_l3_config_data_get_direct_route_for_host(self, addr_family, p_gateway)) continue; new_route = nmp_object_clone(obj_src, FALSE); @@ -3030,6 +3180,9 @@ _init_from_connection_ip(NML3ConfigData *self, int addr_family, NMConnection *co nm_l3_config_data_set_ip6_privacy( self, nm_setting_ip6_config_get_ip6_privacy(NM_SETTING_IP6_CONFIG(s_ip))); + nm_l3_config_data_set_ip6_mtu_static( + self, + nm_setting_ip6_config_get_mtu(NM_SETTING_IP6_CONFIG(s_ip))); } } @@ -3506,6 +3659,9 @@ nm_l3_config_data_merge(NML3ConfigData *self, if (self->ip6_token.id == 0) self->ip6_token.id = src->ip6_token.id; + if (!self->network_id) + self->network_id = nm_ref_string_ref(src->network_id); + self->metered = NM_MAX((NMTernary) self->metered, (NMTernary) src->metered); if (self->proxy_method == NM_PROXY_CONFIG_METHOD_UNKNOWN) @@ -3544,8 +3700,11 @@ nm_l3_config_data_merge(NML3ConfigData *self, if (self->mtu == 0u) self->mtu = src->mtu; - if (self->ip6_mtu == 0u) - self->ip6_mtu = src->ip6_mtu; + if (self->ip6_mtu_static == 0u) + self->ip6_mtu_static = src->ip6_mtu_static; + + if (self->ip6_mtu_ra == 0u) + self->ip6_mtu_ra = src->ip6_mtu_ra; if (NM_FLAGS_HAS(merge_flags, NM_L3_CONFIG_MERGE_FLAGS_CLONE)) { _nm_unused nm_auto_unref_dhcplease NMDhcpLease *dhcp_lease_6 = @@ -3567,6 +3726,20 @@ nm_l3_config_data_merge(NML3ConfigData *self, self->routed_dns_4 = TRUE; if (src->routed_dns_6) self->routed_dns_6 = TRUE; + + if (self->clat == NM_SETTING_IP4_CONFIG_CLAT_NO) { + /* 'no' always loses to 'force' and 'auto' */ + self->clat = src->clat; + } else if (src->clat == NM_SETTING_IP4_CONFIG_CLAT_FORCE) { + /* 'force' always takes precedence */ + self->clat = src->clat; + } + + if (src->pref64_valid) { + self->pref64_prefix = src->pref64_prefix; + self->pref64_plen = src->pref64_plen; + self->pref64_valid = src->pref64_valid; + } } NML3ConfigData * diff --git a/src/core/nm-l3-config-data.h b/src/core/nm-l3-config-data.h index 4102b6e137..5fbc6c7b03 100644 --- a/src/core/nm-l3-config-data.h +++ b/src/core/nm-l3-config-data.h @@ -5,6 +5,7 @@ #include "libnm-glib-aux/nm-dedup-multi.h" #include "nm-setting-connection.h" +#include "nm-setting-ip4-config.h" #include "nm-setting-ip6-config.h" #include "libnm-platform/nm-platform.h" #include "libnm-platform/nmp-object.h" @@ -225,6 +226,10 @@ nm_l3_config_data_equal(const NML3ConfigData *a, const NML3ConfigData *b) /*****************************************************************************/ +const NMPObject *nm_l3_config_data_get_direct_route_for_host(const NML3ConfigData *self, + int addr_family, + gconstpointer host); + const NMDedupMultiIdxType *nm_l3_config_data_lookup_index(const NML3ConfigData *self, NMPObjectType obj_type); @@ -482,14 +487,36 @@ guint32 nm_l3_config_data_get_mtu(const NML3ConfigData *self); gboolean nm_l3_config_data_set_mtu(NML3ConfigData *self, guint32 mtu); -guint32 nm_l3_config_data_get_ip6_mtu(const NML3ConfigData *self); +guint32 nm_l3_config_data_get_ip6_mtu_static(const NML3ConfigData *self); -gboolean nm_l3_config_data_set_ip6_mtu(NML3ConfigData *self, guint32 ip6_mtu); +gboolean nm_l3_config_data_set_ip6_mtu_static(NML3ConfigData *self, guint32 ip6_mtu); + +guint32 nm_l3_config_data_get_ip6_mtu_ra(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_ip6_mtu_ra(NML3ConfigData *self, guint32 ip6_mtu); NMUtilsIPv6IfaceId nm_l3_config_data_get_ip6_token(const NML3ConfigData *self); gboolean nm_l3_config_data_set_ip6_token(NML3ConfigData *self, NMUtilsIPv6IfaceId ipv6_token); +gboolean nm_l3_config_data_set_network_id(NML3ConfigData *self, const char *network_id); + +const char *nm_l3_config_data_get_network_id(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_clat(NML3ConfigData *self, NMSettingIp4ConfigClat val); + +NMSettingIp4ConfigClat nm_l3_config_data_get_clat(const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_pref64_valid(NML3ConfigData *self, gboolean val); + +gboolean nm_l3_config_data_get_pref64_valid(const NML3ConfigData *self); + +gboolean nm_l3_config_data_get_pref64(const NML3ConfigData *self, + struct in6_addr *out_prefix, + guint32 *out_plen); + +gboolean nm_l3_config_data_set_pref64(NML3ConfigData *self, struct in6_addr prefix, guint32 plen); + NMMptcpFlags nm_l3_config_data_get_mptcp_flags(const NML3ConfigData *self); gboolean nm_l3_config_data_set_mptcp_flags(NML3ConfigData *self, NMMptcpFlags mptcp_flags); diff --git a/src/core/nm-l3cfg.c b/src/core/nm-l3cfg.c index 0d93f76bc2..1230e620d0 100644 --- a/src/core/nm-l3cfg.c +++ b/src/core/nm-l3cfg.c @@ -11,6 +11,10 @@ #include #include #include +#if HAVE_CLAT +#include +#include +#endif /* HAVE_CLAT */ #include "libnm-core-aux-intern/nm-libnm-core-utils.h" #include "libnm-glib-aux/nm-prioq.h" @@ -22,6 +26,13 @@ #include "n-acd/src/n-acd.h" #include "nm-l3-ipv4ll.h" #include "nm-ip-config.h" +#include "nm-core-utils.h" +#if HAVE_CLAT +#include "bpf/clat.h" +NM_PRAGMA_WARNING_DISABLE("-Wcast-align") +#include "bpf/clat.skel.h" +NM_PRAGMA_WARNING_REENABLE +#endif /* HAVE_CLAT */ /*****************************************************************************/ @@ -289,6 +300,24 @@ typedef struct _NML3CfgPrivate { NMIPConfig *ipconfig_x[2]; }; +#if HAVE_CLAT + /* The reserved IPv4 address for CLAT in the 192.0.0.0/28 range */ + NMNetnsIPReservation *clat_address_4; + /* The IPv6 address for sending and receiving translated packets */ + NMPlatformIP6Address clat_address_6; + + /* The same addresses as above, but already committed previously */ + NMNetnsIPReservation *clat_address_4_committed; + NMPlatformIP6Address clat_address_6_committed; + + /* If NULL, the BPF program hasn't been loaded or attached */ + struct clat_bpf *clat_bpf; + struct bpf_link *clat_ingress_link; + struct bpf_link *clat_egress_link; + + int clat_socket; +#endif /* HAVE_CLAT */ + /* Whether we earlier configured MPTCP endpoints for the interface. */ union { struct { @@ -353,6 +382,9 @@ typedef struct _NML3CfgPrivate { bool rp_filter_handled : 1; bool rp_filter_set : 1; + + bool clat_address_6_valid : 1; + bool clat_address_6_committed_valid : 1; } NML3CfgPrivate; struct _NML3CfgClass { @@ -4123,6 +4155,13 @@ _l3cfg_update_combined_config(NML3Cfg *self, guint i; gboolean merged_changed = FALSE; gboolean commited_changed = FALSE; +#if HAVE_CLAT + struct in6_addr pref64; + guint32 pref64_plen; + gboolean clat_enabled = FALSE; + const NMPlatformIP4Route *ip4_route; + NMDedupMultiIter iter; +#endif nm_assert(NM_IS_L3CFG(self)); nm_assert(!out_old || !*out_old); @@ -4220,6 +4259,212 @@ _l3cfg_update_combined_config(NML3Cfg *self, &hook_data); } +#if HAVE_CLAT + switch (nm_l3_config_data_get_clat(l3cd)) { + case NM_SETTING_IP4_CONFIG_CLAT_FORCE: + clat_enabled = TRUE; + break; + case NM_SETTING_IP4_CONFIG_CLAT_NO: + clat_enabled = FALSE; + break; + case NM_SETTING_IP4_CONFIG_CLAT_AUTO: + clat_enabled = TRUE; + /* disable if there is a native IPv4 gateway */ + nm_l3_config_data_iter_ip4_route_for_each (&iter, l3cd, &ip4_route) { + if (ip4_route->network == INADDR_ANY && ip4_route->plen == 0 + && ip4_route->gateway != INADDR_ANY) + clat_enabled = FALSE; + break; + } + break; + case NM_SETTING_IP4_CONFIG_CLAT_DEFAULT: + nm_assert_not_reached(); + clat_enabled = TRUE; + break; + } + + if (clat_enabled && nm_l3_config_data_get_pref64_valid(l3cd)) { + NMPlatformIPXRoute rx; + NMIPAddrTyped best_v6_gateway; + const NMPlatformIP6Route *best_v6_route; + const NMPlatformIP6Address *ip6_entry; + struct in6_addr ip6; + const char *network_id; + char buf[512]; + guint32 route4_metric = NM_PLATFORM_ROUTE_METRIC_DEFAULT_IP4; + + /* If we have a valid NAT64 prefix, configure in kernel: + * + * - a CLAT IPv4 address (192.0.0.x) + * - a IPv4 default route via the best IPv6 gateway + * + * We also set clat_address_6 as an additional /64 IPv6 address + * determined according to https://www.rfc-editor.org/rfc/rfc6877#section-6.3 . + * This address is used for sending and receiving translated packets, + * but is not configured in kernel to avoid that it gets used by applications. + * Later in _l3_commit_pref64() we use IPV6_JOIN_ANYCAST to let the kernel + * handle ND for the address. + */ + + nm_l3_config_data_get_pref64(l3cd, &pref64, &pref64_plen); + network_id = nm_l3_config_data_get_network_id(l3cd); + + if (!self->priv.p->clat_address_6_valid && network_id) { + nm_l3_config_data_iter_ip6_address_for_each (&iter, l3cd, &ip6_entry) { + if (ip6_entry->addr_source == NM_IP_CONFIG_SOURCE_NDISC + && ip6_entry->plen == 64) { + ip6 = ip6_entry->address; + + nm_utils_ipv6_addr_set_stable_privacy(NM_UTILS_STABLE_TYPE_CLAT, + &ip6, + nm_l3cfg_get_ifname(self, TRUE), + network_id, + 0); + self->priv.p->clat_address_6 = (NMPlatformIP6Address) { + .ifindex = self->priv.ifindex, + .address = ip6, + .peer_address = ip6, + .addr_source = NM_IP_CONFIG_SOURCE_CLAT, + .plen = ip6_entry->plen, + }; + + _LOGT("clat: using IPv6 address %s", nm_inet6_ntop(&ip6, buf)); + + self->priv.p->clat_address_6_valid = TRUE; + break; + } + } + } + + /* Don't get a v4 address if we have no v6 address (otherwise, we could + potentially create broken v4 connectivity) */ + if (!self->priv.p->clat_address_6_valid) { + _LOGW("CLAT is currently only supported when SLAAC is in use."); + /* Deallocate the v4 address unless it's the committed one */ + if (self->priv.p->clat_address_4 != self->priv.p->clat_address_4_committed) { + nm_clear_pointer(&self->priv.p->clat_address_4, + nm_netns_ip_reservation_release); + } else { + self->priv.p->clat_address_4 = NULL; + } + } else if (!self->priv.p->clat_address_4) { + /* We need a v4 /32 */ + self->priv.p->clat_address_4 = + nm_netns_ip_reservation_get(self->priv.netns, + NM_NETNS_IP_RESERVATION_TYPE_CLAT); + } + + { + const NMPlatformIP4Route *r4; + guint32 metric = 0; + guint32 penalty = 0; + + /* Find the IPv4 metric for the CLAT default route. + * If there is another non-CLAT default route on the device, use the + * same metric + 1, so that native connectivity is always preferred. + * Otherwise, use the metric from the connection profile. + */ + + r4 = NMP_OBJECT_CAST_IP4_ROUTE( + nm_l3_config_data_get_best_default_route(l3cd, AF_INET)); + + if (r4) { + route4_metric = nm_add_clamped_u32(r4->metric, 1u); + } else { + for (i = 0; i < l3_config_datas_len; i++) { + const L3ConfigData *l3cd_data = l3_config_datas_arr[i]; + + if (l3cd_data->default_route_metric_4 + != NM_PLATFORM_ROUTE_METRIC_DEFAULT_IP4) { + metric = l3cd_data->default_route_metric_4; + } + if (l3cd_data->default_route_penalty_4 != 0) { + penalty = l3cd_data->default_route_penalty_4; + } + } + route4_metric = nm_add_clamped_u32(metric, penalty); + } + } + + if (self->priv.p->clat_address_4) { + best_v6_route = NMP_OBJECT_CAST_IP6_ROUTE( + nm_l3_config_data_get_direct_route_for_host(l3cd, AF_INET6, &pref64)); + if (!best_v6_route) { + best_v6_route = NMP_OBJECT_CAST_IP6_ROUTE( + nm_l3_config_data_get_best_default_route(l3cd, AF_INET6)); + } + if (best_v6_route) { + NMPlatformIP4Address addr = { + .ifindex = self->priv.ifindex, + .address = self->priv.p->clat_address_4->addr, + .peer_address = self->priv.p->clat_address_4->addr, + .addr_source = NM_IP_CONFIG_SOURCE_CLAT, + .plen = 32, + }; + const NMPlatformLink *pllink; + guint mtu = 0; + guint val = 0; + + best_v6_gateway.addr_family = AF_INET6; + best_v6_gateway.addr.addr6 = best_v6_route->gateway; + + /* Determine the IPv6 MTU of the interface. Unfortunately, + * the logic to set the MTU is in NMDevice and here we need + * some duplication to find the actual value. + * TODO: move the MTU handling into l3cfg. */ + + /* Get the link MTU */ + pllink = nm_l3cfg_get_pllink(self, TRUE); + if (pllink) + mtu = pllink->mtu; + if (mtu == 0) + mtu = 1500; + + /* Update it with the IPv6 MTU value from the connection + * or from RA */ + val = nm_l3_config_data_get_ip6_mtu_static(l3cd); + if (val == 0) { + val = nm_l3_config_data_get_ip6_mtu_ra(l3cd); + } + if (val != 0 && val < mtu) { + mtu = val; + } + if (mtu < 1280) + mtu = 1280; + + /* Leave 20 additional bytes for the ipv4 -> ipv6 header translation, + * plus 8 for a potential fragmentation extension header */ + mtu -= 28; + + rx.r4 = (NMPlatformIP4Route) { + .ifindex = self->priv.ifindex, + .rt_source = NM_IP_CONFIG_SOURCE_CLAT, + .network = 0, /* default route */ + .plen = 0, + .table_coerced = nm_platform_route_table_coerce(RT_TABLE_MAIN), + .scope_inv = nm_platform_route_scope_inv(RT_SCOPE_UNIVERSE), + .type_coerced = nm_platform_route_type_coerce(RTN_UNICAST), + .pref_src = self->priv.p->clat_address_4->addr, + .via = best_v6_gateway, + .metric = route4_metric, + .mtu = mtu, + }; + nm_platform_ip_route_normalize(AF_INET, &rx.rx); + if (!nm_l3_config_data_lookup_route(l3cd, AF_INET, &rx.rx)) { + nm_l3_config_data_add_route_4(l3cd, &rx.r4); + } + + _LOGT("clat: route %s", + nm_platform_ip4_route_to_string(&rx.r4, buf, sizeof(buf))); + + nm_l3_config_data_add_address_4(l3cd, &addr); + } else { + _LOGW("Couldn't find a good ipv6 route! Unable to set up CLAT!"); + } + } + } +#endif /* HAVE_CLAT */ + if (self->priv.ifindex == NM_LOOPBACK_IFINDEX) { NMPlatformIPXAddress ax; NMPlatformIPXRoute rx; @@ -4280,6 +4525,18 @@ _l3cfg_update_combined_config(NML3Cfg *self, if (nm_l3_config_data_equal(l3cd, self->priv.p->combined_l3cd_merged)) goto out; +#if HAVE_CLAT + if (!l3cd) { + self->priv.p->clat_address_6_valid = FALSE; + /* Deallocate the v4 address unless it's the commited one */ + if (self->priv.p->clat_address_4 != self->priv.p->clat_address_4_committed) { + nm_clear_pointer(&self->priv.p->clat_address_4, nm_netns_ip_reservation_release); + } else { + self->priv.p->clat_address_4 = NULL; + } + } +#endif /* HAVE_CLAT */ + l3cd_old = g_steal_pointer(&self->priv.p->combined_l3cd_merged); self->priv.p->combined_l3cd_merged = nm_l3_config_data_seal(g_steal_pointer(&l3cd)); merged_changed = TRUE; @@ -5379,6 +5636,174 @@ _l3_commit_one(NML3Cfg *self, _failedobj_handle_routes(self, addr_family, routes_failed); } +#if HAVE_CLAT +static void +_l3_clat_destroy(NML3Cfg *self) +{ + char buf[100]; + int err; + + if (self->priv.p->clat_ingress_link) { + err = bpf_link__destroy(self->priv.p->clat_ingress_link); + if (err != 0) { + libbpf_strerror(err, buf, sizeof(buf)); + _LOGD("clat: failed to destroy the ingress link"); + } + self->priv.p->clat_ingress_link = NULL; + } + + if (self->priv.p->clat_egress_link) { + err = bpf_link__destroy(self->priv.p->clat_egress_link); + if (err != 0) { + libbpf_strerror(err, buf, sizeof(buf)); + _LOGD("clat: failed to destroy the egress link"); + } + self->priv.p->clat_egress_link = NULL; + } + + nm_clear_pointer(&self->priv.p->clat_bpf, clat_bpf__destroy); +} + +static void +_l3_commit_pref64(NML3Cfg *self, NML3CfgCommitType commit_type) +{ + int err = 0; + const NML3ConfigData *l3cd = self->priv.p->combined_l3cd_commited; + struct in6_addr _l3cd_pref64_inner; + const struct in6_addr *l3cd_pref64 = NULL; + guint32 l3cd_pref64_plen; + char buf[100]; + struct clat_config clat_config; + gboolean v6_changed; + + if (l3cd && nm_l3_config_data_get_pref64(l3cd, &_l3cd_pref64_inner, &l3cd_pref64_plen)) { + l3cd_pref64 = &_l3cd_pref64_inner; + } + + if (l3cd_pref64 && self->priv.p->clat_address_4 && self->priv.p->clat_address_6_valid) { + if (!self->priv.p->clat_bpf) { + _LOGT("clat: attaching the BPF program"); + + self->priv.p->clat_bpf = clat_bpf__open_and_load(); + if (!self->priv.p->clat_bpf) { + libbpf_strerror(errno, buf, sizeof(buf)); + _LOGW("clat: failed to open and load the BPF program: %s", buf); + return; + } + + self->priv.p->clat_ingress_link = + bpf_program__attach_tcx(self->priv.p->clat_bpf->progs.clat_ingress, + self->priv.ifindex, + NULL); + if (!self->priv.p->clat_ingress_link) { + libbpf_strerror(errno, buf, sizeof(buf)); + _LOGW("clat: failed to attach the ingress program: %s", buf); + return; + } + + self->priv.p->clat_egress_link = + bpf_program__attach_tcx(self->priv.p->clat_bpf->progs.clat_egress, + self->priv.ifindex, + NULL); + if (!self->priv.p->clat_egress_link) { + libbpf_strerror(errno, buf, sizeof(buf)); + _LOGW("clat: failed to attach the egress program: %s", buf); + return; + } + + _LOGT("clat: program attached successfully"); + } + + /* Pass configuration to the BPF program */ + memset(&clat_config, 0, sizeof(clat_config)); + clat_config.local_v4.s_addr = self->priv.p->clat_address_4->addr; + clat_config.local_v6 = self->priv.p->clat_address_6.address; + clat_config.pref64 = *l3cd_pref64; + clat_config.pref64_len = l3cd_pref64_plen; + self->priv.p->clat_bpf->bss->config = clat_config; + + if (self->priv.p->clat_socket < 0) { + self->priv.p->clat_socket = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6); + if (self->priv.p->clat_socket < 0) { + _LOGW("clat: couldn't create the socket: %s", nm_strerror_native(errno)); + } + } + if (self->priv.p->clat_socket >= 0) { + err = setsockopt(self->priv.p->clat_socket, + SOL_SOCKET, + SO_BINDTOIFINDEX, + &self->priv.ifindex, + sizeof(self->priv.ifindex)); + if (err < 0) { + _LOGW("clat: couldn't bind the socket: %s", nm_strerror_native(errno)); + } + } + + v6_changed = + (self->priv.p->clat_address_6_valid != self->priv.p->clat_address_6_committed_valid) + || (self->priv.p->clat_address_6_valid && self->priv.p->clat_address_6_committed_valid + && memcmp(&self->priv.p->clat_address_6.address, + &self->priv.p->clat_address_6_committed.address, + sizeof(self->priv.p->clat_address_6_committed.address))); + + if (self->priv.p->clat_socket > 0 && v6_changed) { + struct ipv6_mreq mreq = {.ipv6mr_interface = self->priv.ifindex}; + + if (self->priv.p->clat_address_6_committed_valid) { + mreq.ipv6mr_multiaddr = self->priv.p->clat_address_6_committed.address; + + err = setsockopt(self->priv.p->clat_socket, + SOL_IPV6, + IPV6_LEAVE_ANYCAST, + &mreq, + sizeof(mreq)); + if (err < 0) { + _LOGW("clat: couldn't leave the anycast group: %s", nm_strerror_native(errno)); + } + } + + if (self->priv.p->clat_address_6_valid) { + mreq.ipv6mr_multiaddr = self->priv.p->clat_address_6.address; + + err = setsockopt(self->priv.p->clat_socket, + SOL_IPV6, + IPV6_JOIN_ANYCAST, + &mreq, + sizeof(mreq)); + if (err < 0) { + _LOGW("clat: couldn't join the anycast group: %s", nm_strerror_native(errno)); + } + } + } + } else { + if (self->priv.p->clat_bpf) { + _l3_clat_destroy(self); + } + + /* Committed will get cleaned up below */ + self->priv.p->clat_address_6_valid = FALSE; + + nm_clear_fd(&self->priv.p->clat_socket); + + /* Deallocate the v4 address. Committed address will get cleaned up below, + but we need to make sure there's no double-free */ + if (self->priv.p->clat_address_4 != self->priv.p->clat_address_4_committed) { + nm_clear_pointer(&self->priv.p->clat_address_4, nm_netns_ip_reservation_release); + } else { + self->priv.p->clat_address_4 = NULL; + } + } + + /* Record the new state */ + if (self->priv.p->clat_address_4_committed != self->priv.p->clat_address_4) { + nm_clear_pointer(&self->priv.p->clat_address_4_committed, nm_netns_ip_reservation_release); + self->priv.p->clat_address_4_committed = self->priv.p->clat_address_4; + } + self->priv.p->clat_address_6_committed = self->priv.p->clat_address_6; + self->priv.p->clat_address_6_committed_valid = self->priv.p->clat_address_6_valid; +} +#endif /* HAVE_CLAT */ + static void _l3_commit(NML3Cfg *self, NML3CfgCommitType commit_type, gboolean is_idle) { @@ -5461,6 +5886,10 @@ _l3_commit(NML3Cfg *self, NML3CfgCommitType commit_type, gboolean is_idle) _l3_acd_data_process_changes(self); +#if HAVE_CLAT + _l3_commit_pref64(self, commit_type); +#endif /* HAVE_CLAT */ + nm_assert(self->priv.p->commit_reentrant_count == 1); self->priv.p->commit_reentrant_count--; @@ -5842,6 +6271,10 @@ nm_l3cfg_init(NML3Cfg *self) { self->priv.p = G_TYPE_INSTANCE_GET_PRIVATE(self, NM_TYPE_L3CFG, NML3CfgPrivate); +#if HAVE_CLAT + self->priv.p->clat_socket = -1; +#endif /* HAVE_CLAT */ + c_list_init(&self->priv.p->acd_lst_head); c_list_init(&self->priv.p->acd_event_notify_lst_head); c_list_init(&self->priv.p->commit_type_lst_head); @@ -5950,6 +6383,14 @@ finalize(GObject *object) if (changed) nmp_global_tracker_sync_mptcp_addrs(self->priv.global_tracker, FALSE); +#if HAVE_CLAT + self->priv.p->clat_address_4_committed = NULL; + nm_clear_pointer(&self->priv.p->clat_address_4, nm_netns_ip_reservation_release); + nm_clear_fd(&self->priv.p->clat_socket); + if (self->priv.p->clat_bpf) { + _l3_clat_destroy(self); + } +#endif g_clear_object(&self->priv.netns); g_clear_object(&self->priv.platform); nm_clear_pointer(&self->priv.global_tracker, nmp_global_tracker_unref); diff --git a/src/core/nm-netns.c b/src/core/nm-netns.c index f55d1132d0..faae72670d 100644 --- a/src/core/nm-netns.c +++ b/src/core/nm-netns.c @@ -574,8 +574,8 @@ notify_watcher: typedef struct { const char *name; guint32 start_addr; /* host byte order */ - guint prefix_len; - guint num_addrs; + guint range_plen; + guint addr_plen; gboolean allow_reuse; } IPReservationTypeDesc; @@ -583,11 +583,19 @@ static const IPReservationTypeDesc ip_reservation_types[_NM_NETNS_IP_RESERVATION [NM_NETNS_IP_RESERVATION_TYPE_SHARED4] = { .name = "shared-ip4", - .start_addr = 0x0a2a0001, /* 10.42.0.1 */ - .prefix_len = 24, - .num_addrs = 256, + .start_addr = 0x0a2a0001, /* 10.42.{0-255}.1/24 */ + .range_plen = 16, + .addr_plen = 24, .allow_reuse = TRUE, }, + [NM_NETNS_IP_RESERVATION_TYPE_CLAT] = + { + .name = "clat", + .start_addr = 0xc0000005, /* 192.0.0.{5-7,0-4}/32 */ + .range_plen = 29, + .addr_plen = 32, + .allow_reuse = FALSE, + }, }; NMNetnsIPReservation * @@ -613,13 +621,23 @@ nm_netns_ip_reservation_get(NMNetns *self, NMNetnsIPReservationType type) g_object_ref(self); } else { guint32 count; + guint32 base_network; + guint32 host_mask; + guint32 increment; nm_assert(g_hash_table_size(*table) > 0); - nm_assert(desc->prefix_len > 0 && desc->prefix_len <= 32); + nm_assert(desc->range_plen < 32); + nm_assert(desc->addr_plen > 0 && desc->addr_plen <= 32); + nm_assert(desc->addr_plen > desc->range_plen); + + base_network = desc->start_addr & ~(0xFFFFFFFFu >> desc->range_plen); + host_mask = 0xFFFFFFFFu >> desc->range_plen; + increment = 1 << (32 - desc->addr_plen); count = 0u; for (;;) { - addr = htonl(desc->start_addr + (count << (32 - desc->prefix_len))); + addr = htonl(base_network + + ((base_network + (desc->start_addr + count * increment)) & host_mask)); res = g_hash_table_lookup(*table, &addr); if (!res) @@ -627,7 +645,7 @@ nm_netns_ip_reservation_get(NMNetns *self, NMNetnsIPReservationType type) count++; - if (count >= desc->num_addrs) { + if (count >= 1 << (desc->addr_plen - desc->range_plen)) { if (!desc->allow_reuse) { _LOGE("%s: ran out of IP addresses", desc->name); return NULL; @@ -637,12 +655,12 @@ nm_netns_ip_reservation_get(NMNetns *self, NMNetnsIPReservationType type) _LOGE("%s: ran out of IP addresses. Reuse %s/%u", desc->name, nm_inet4_ntop(res->addr, buf), - desc->prefix_len); + desc->addr_plen); } else { _LOGD("%s: reserved IP address %s/%u (duplicate)", desc->name, nm_inet4_ntop(res->addr, buf), - desc->prefix_len); + desc->addr_plen); } res->_ref_count++; return res; @@ -663,7 +681,7 @@ nm_netns_ip_reservation_get(NMNetns *self, NMNetnsIPReservationType type) _LOGD("%s: reserved IP address %s/%u", desc->name, nm_inet4_ntop(res->addr, buf), - desc->prefix_len); + desc->addr_plen); return res; } @@ -695,7 +713,7 @@ nm_netns_ip_reservation_release(NMNetnsIPReservation *res) _LOGD("%s: release IP address reservation %s/%u (%d more references held)", desc->name, nm_inet4_ntop(res->addr, buf), - desc->prefix_len, + desc->addr_plen, res->_ref_count); return; } @@ -706,7 +724,7 @@ nm_netns_ip_reservation_release(NMNetnsIPReservation *res) _LOGD("%s: release IP address reservation %s/%u", desc->name, nm_inet4_ntop(res->addr, buf), - desc->prefix_len); + desc->addr_plen); if (g_hash_table_size(*table) == 0) { nm_clear_pointer(table, g_hash_table_unref); diff --git a/src/core/nm-netns.h b/src/core/nm-netns.h index 5ddb852ad5..e32d5680aa 100644 --- a/src/core/nm-netns.h +++ b/src/core/nm-netns.h @@ -43,6 +43,7 @@ NML3Cfg *nm_netns_l3cfg_acquire(NMNetns *netns, int ifindex); typedef enum { NM_NETNS_IP_RESERVATION_TYPE_SHARED4, + NM_NETNS_IP_RESERVATION_TYPE_CLAT, _NM_NETNS_IP_RESERVATION_TYPE_NUM, } NMNetnsIPReservationType; diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c index b71c6faeda..dc60fdf1f3 100644 --- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c @@ -3600,6 +3600,7 @@ do_write_construct(NMConnection *connection, } else route_ignore = FALSE; + /* Unsupported properties */ if ((s_ip4 = nm_connection_get_setting_ip4_config(connection))) { if (nm_setting_ip_config_get_dhcp_dscp(s_ip4)) { set_error_unsupported(error, @@ -3618,6 +3619,14 @@ do_write_construct(NMConnection *connection, FALSE); return FALSE; } + if (nm_setting_ip4_config_get_clat(NM_SETTING_IP4_CONFIG(s_ip4)) + != NM_SETTING_IP4_CONFIG_CLAT_DEFAULT) { + set_error_unsupported(error, + connection, + NM_SETTING_IP4_CONFIG_SETTING_NAME "." NM_SETTING_IP4_CONFIG_CLAT, + FALSE); + return FALSE; + } } write_ip4_setting(connection, diff --git a/src/core/tests/test-netns.c b/src/core/tests/test-netns.c index 26ecbcb8b8..7bcd380927 100644 --- a/src/core/tests/test-netns.c +++ b/src/core/tests/test-netns.c @@ -53,6 +53,44 @@ test_ip_reservation_shared4(void) } } +static void +test_ip_reservation_clat(void) +{ + gs_unref_object NMPlatform *platform = NULL; + gs_unref_object NMNetns *netns = NULL; + NMNetnsIPReservation *res[8]; + NMNetnsIPReservation *res1; + char buf[NM_INET_ADDRSTRLEN]; + guint i; + + platform = g_object_ref(NM_PLATFORM_GET); + netns = nm_netns_new(platform); + + /* Allocate addresses 192.0.0.{5,6,7,0,1,2,3,4} */ + for (i = 0; i < 8; i++) { + res[i] = nm_netns_ip_reservation_get(netns, NM_NETNS_IP_RESERVATION_TYPE_CLAT); + g_snprintf(buf, sizeof(buf), "192.0.0.%u", (i + 5) % 8); + nmtst_assert_ip4_address(res[i]->addr, buf); + g_assert_cmpint(res[i]->_ref_count, ==, 1); + } + + /* Release an address and get it back */ + nm_netns_ip_reservation_release(res[2]); + res[2] = nm_netns_ip_reservation_get(netns, NM_NETNS_IP_RESERVATION_TYPE_CLAT); + nmtst_assert_ip4_address(res[2]->addr, "192.0.0.7"); + + /* No reuse */ + NMTST_EXPECT_NM_ERROR("netns[*]: clat: ran out of IP addresses"); + res1 = nm_netns_ip_reservation_get(netns, NM_NETNS_IP_RESERVATION_TYPE_CLAT); + g_test_assert_expected_messages(); + g_assert_null(res1); + + /* Release all */ + for (i = 0; i < 8; i++) { + nm_netns_ip_reservation_release(res[i]); + } +} + /*****************************************************************************/ NMTST_DEFINE(); @@ -64,6 +102,7 @@ main(int argc, char **argv) nm_linux_platform_setup(); g_test_add_func("/netns/ip_reservation/shared4", test_ip_reservation_shared4); + g_test_add_func("/netns/ip_reservation/clat", test_ip_reservation_clat); return g_test_run(); } diff --git a/src/libnm-base/nm-base.h b/src/libnm-base/nm-base.h index 048c02416f..7806f7e750 100644 --- a/src/libnm-base/nm-base.h +++ b/src/libnm-base/nm-base.h @@ -345,6 +345,7 @@ typedef enum { NM_IP_CONFIG_SOURCE_VPN, NM_IP_CONFIG_SOURCE_DHCP, NM_IP_CONFIG_SOURCE_NDISC, + NM_IP_CONFIG_SOURCE_CLAT, NM_IP_CONFIG_SOURCE_USER, } NMIPConfigSource; diff --git a/src/libnm-client-impl/libnm.ver b/src/libnm-client-impl/libnm.ver index 0b01e2e84c..64e2155d60 100644 --- a/src/libnm-client-impl/libnm.ver +++ b/src/libnm-client-impl/libnm.ver @@ -2106,6 +2106,8 @@ global: libnm_1_58_0 { global: + nm_setting_ip4_config_clat_get_type; + nm_setting_ip4_config_get_clat; nm_utils_wifi_6ghz_freqs; nm_utils_wifi_freq_to_band; nm_wifi_band_get_type; diff --git a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in index c83deea9c1..0131ba76bf 100644 --- a/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in +++ b/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in @@ -1652,6 +1652,10 @@ dbus-type="i" gprop-type="NMTernary" /> + dhcp_ipv6_only_preferred; } +/** + * nm_setting_ip4_config_get_clat: + * @setting: the #NMSettingIP4Config + * + * Returns the value in the #NMSettingIP4Config:clat property. + * + * Returns: the CLAT property value + * + * Since: 1.58 + */ +NMSettingIp4ConfigClat +nm_setting_ip4_config_get_clat(NMSettingIP4Config *setting) +{ + g_return_val_if_fail(NM_IS_SETTING_IP4_CONFIG(setting), NM_SETTING_IP4_CONFIG_CLAT_DEFAULT); + + return NM_SETTING_IP4_CONFIG_GET_PRIVATE(setting)->clat; +} + static gboolean verify(NMSetting *setting, NMConnection *connection, GError **error) { @@ -186,12 +206,15 @@ verify(NMSetting *setting, NMConnection *connection, GError **error) if (!strcmp(method, NM_SETTING_IP4_CONFIG_METHOD_MANUAL)) { if (nm_setting_ip_config_get_num_addresses(s_ip) == 0 - && nm_setting_ip_config_get_num_routes(s_ip) == 0) { - g_set_error(error, - NM_CONNECTION_ERROR, - NM_CONNECTION_ERROR_MISSING_PROPERTY, - _("method '%s' requires at least an address or a route"), - method); + && nm_setting_ip_config_get_num_routes(s_ip) == 0 + && nm_setting_ip4_config_get_clat(NM_SETTING_IP4_CONFIG(s_ip)) + != NM_SETTING_IP4_CONFIG_CLAT_FORCE) { + g_set_error( + error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_MISSING_PROPERTY, + _("method '%s' requires at least an address, a route, or CLAT set to 'force'"), + method); g_prefix_error(error, "%s.%s: ", NM_SETTING_IP4_CONFIG_SETTING_NAME, @@ -1353,18 +1376,25 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass) /** * NMSettingIP4Config:dhcp-ipv6-only-preferred * - * Controls the "IPv6-Only Preferred" DHCPv4 option (RFC 8925). + * Controls the "IPv6-Only Preferred" DHCPv4 option (option 108 - RFC 8925). * * When set to %NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES, the host adds the * option to the parameter request list; if the DHCP server sends the option back, * the host stops the DHCP client for the time interval specified in the option. * * Enable this feature if the host supports an IPv6-only mode, i.e. either all - * applications are IPv6-only capable or there is a form of 464XLAT deployed. + * applications are IPv6-only capable or there is a form of CLAT (464XLAT) + * deployed. + * + * If set to %NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO, the option is + * automatically turned on when the IPv6 method is "auto" and the connection + * profile has ipv4.clat set to "yes" or "auto". If these two conditions are + * met, the host can operate in IPv6-only mode and therefore it is safe to + * disable DHCPv4 when the network also supports it. * * When set to %NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT, the actual value * is looked up in the global configuration; if not specified, it defaults to - * %NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO. + * %NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO. * * If the connection has IPv6 method set to "disabled", this property does not * have effect and the "IPv6-Only Preferred" option is always disabled. @@ -1382,6 +1412,39 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass) NMSettingIP4ConfigPrivate, dhcp_ipv6_only_preferred); + /** + * NMSettingIP4Config:clat + * + * Controls the CLAT (Customer-side translator) functionality. CLAT is used to implement the + * client part of 464XLAT (RFC 6877), an architecture that provides IPv4 connectivity to hosts + * on IPv6-only networks. + * + * When CLAT is enabled, NetworkManager discovers the NAT64 prefix from IPv6 Router Advertisements; + * if a NAT64 prefix is announced, NetworkManager installs a BPF program to perform the stateless + * translation of packets between IPv4 and IPv6. + * + * Setting %NM_SETTING_IP4_CONFIG_CLAT_NO completely disables CLAT. %NM_SETTING_IP4_CONFIG_CLAT_AUTO + * enables CLAT only when the IPv4 method is 'auto' and the device doesn't have a native IPv4 gateway. + * %NM_SETTING_IP4_CONFIG_CLAT_FORCE enables CLAT even if the IPv4 method is not 'auto' and even if + * the device has a native IPv4 gateway. + * + * When set to %NM_SETTING_IP4_CONFIG_CLAT_DEFAULT, the actual value is looked up in the global + * configuration; if not specified it defaults to %NM_SETTING_IP4_CONFIG_CLAT_NO. In the future the + * default fall back value will change to %NM_SETTING_IP4_CONFIG_CLAT_AUTO. + * + * Since: 1.58 + */ + _nm_setting_property_define_direct_enum(properties_override, + obj_properties, + NM_SETTING_IP4_CONFIG_CLAT, + PROP_CLAT, + NM_TYPE_SETTING_IP4_CONFIG_CLAT, + NM_SETTING_IP4_CONFIG_CLAT_DEFAULT, + NM_SETTING_PARAM_NONE, + NULL, + NMSettingIP4ConfigPrivate, + clat); + g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties); _nm_setting_class_commit(setting_class, diff --git a/src/libnm-core-impl/tests/test-general.c b/src/libnm-core-impl/tests/test-general.c index d6c991cabb..9143da0435 100644 --- a/src/libnm-core-impl/tests/test-general.c +++ b/src/libnm-core-impl/tests/test-general.c @@ -4094,6 +4094,7 @@ test_connection_diff_a_only(void) {NM_SETTING_IP_CONFIG_DHCP_REJECT_SERVERS, NM_SETTING_DIFF_RESULT_IN_A}, {NM_SETTING_IP4_CONFIG_LINK_LOCAL, NM_SETTING_DIFF_RESULT_IN_A}, {NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED, NM_SETTING_DIFF_RESULT_IN_A}, + {NM_SETTING_IP4_CONFIG_CLAT, NM_SETTING_DIFF_RESULT_IN_A}, {NM_SETTING_IP_CONFIG_AUTO_ROUTE_EXT_GW, NM_SETTING_DIFF_RESULT_IN_A}, {NM_SETTING_IP_CONFIG_REPLACE_LOCAL_RULE, NM_SETTING_DIFF_RESULT_IN_A}, {NM_SETTING_IP_CONFIG_DHCP_SEND_RELEASE, NM_SETTING_DIFF_RESULT_IN_A}, diff --git a/src/libnm-core-public/nm-setting-ip4-config.h b/src/libnm-core-public/nm-setting-ip4-config.h index c40a7603f9..f42247479f 100644 --- a/src/libnm-core-public/nm-setting-ip4-config.h +++ b/src/libnm-core-public/nm-setting-ip4-config.h @@ -34,6 +34,7 @@ G_BEGIN_DECLS #define NM_SETTING_IP4_CONFIG_DHCP_VENDOR_CLASS_IDENTIFIER "dhcp-vendor-class-identifier" #define NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED "dhcp-ipv6-only-preferred" #define NM_SETTING_IP4_CONFIG_LINK_LOCAL "link-local" +#define NM_SETTING_IP4_CONFIG_CLAT "clat" /** * NM_SETTING_IP4_CONFIG_METHOD_AUTO: @@ -109,6 +110,8 @@ typedef enum { * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT: use the global default value * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO: the option is disabled * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES: the option is enabled + * @NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO: the option is enabled when + * the IPv6 method is "auto" and CLAT is enabled. Since: 1.58 * * #NMSettingIP4DhcpIpv6OnlyPreferred values specify if the "IPv6-Only Preferred" * option (RFC 8925) for DHCPv4 is enabled. @@ -119,8 +122,32 @@ typedef enum { NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_DEFAULT = -1, NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_NO = 0, NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_YES = 1, + NM_SETTING_IP4_DHCP_IPV6_ONLY_PREFERRED_AUTO = 2, } NMSettingIP4DhcpIpv6OnlyPreferred; +/** + * NMSettingIp4ConfigClat: + * @NM_SETTING_IP4_CONFIG_CLAT_DEFAULT: use the global default value + * @NM_SETTING_IP4_CONFIG_CLAT_NO: disable CLAT + * @NM_SETTING_IP4_CONFIG_CLAT_AUTO: enable CLAT only when the IPv4 method + * is 'auto' and the device doesn't have a native IPv4 gateway. + * @NM_SETTING_IP4_CONFIG_CLAT_FORCE: enable CLAT even with IPv4 methods + * other than 'auto' and even if the device has a native IPv4 gateway. + * + * #NMSettingIP4ConfigClat values specify if CLAT (Customer-side translator) + * is enabled or not. CLAT is used to implement the client part of 464XLAT + * (RFC 6877), an architecture that provides IPv4 connectivity to hosts on + * IPv6-only networks. + * + * Since: 1.58 + */ +typedef enum { + NM_SETTING_IP4_CONFIG_CLAT_DEFAULT = -1, + NM_SETTING_IP4_CONFIG_CLAT_NO = 0, + NM_SETTING_IP4_CONFIG_CLAT_AUTO = 1, + NM_SETTING_IP4_CONFIG_CLAT_FORCE = 2, +} NMSettingIp4ConfigClat; + typedef struct _NMSettingIP4ConfigClass NMSettingIP4ConfigClass; GType nm_setting_ip4_config_get_type(void); @@ -141,6 +168,9 @@ NM_AVAILABLE_IN_1_52 NMSettingIP4DhcpIpv6OnlyPreferred nm_setting_ip4_config_get_dhcp_ipv6_only_preferred(NMSettingIP4Config *setting); +NM_AVAILABLE_IN_1_58 +NMSettingIp4ConfigClat nm_setting_ip4_config_get_clat(NMSettingIP4Config *setting); + G_END_DECLS #endif /* __NM_SETTING_IP4_CONFIG_H__ */ diff --git a/src/libnmc-setting/nm-meta-setting-desc.c b/src/libnmc-setting/nm-meta-setting-desc.c index 6ff45935bc..5ce86e8bcb 100644 --- a/src/libnmc-setting/nm-meta-setting-desc.c +++ b/src/libnmc-setting/nm-meta-setting-desc.c @@ -6601,6 +6601,9 @@ static const NMMetaPropertyInfo *const property_infos_IP4_CONFIG[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED, .property_type = &_pt_gobject_enum, ), + PROPERTY_INFO (NM_SETTING_IP4_CONFIG_CLAT, DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_CLAT, + .property_type = &_pt_gobject_enum, + ), PROPERTY_INFO_WITH_DESC (NM_SETTING_IP4_CONFIG_LINK_LOCAL, .property_type = &_pt_gobject_enum, .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( diff --git a/src/libnmc-setting/settings-docs.h.in b/src/libnmc-setting/settings-docs.h.in index 662718726b..0df43b0794 100644 --- a/src/libnmc-setting/settings-docs.h.in +++ b/src/libnmc-setting/settings-docs.h.in @@ -186,6 +186,7 @@ #define DESCRIBE_DOC_NM_SETTING_INFINIBAND_TRANSPORT_MODE N_("The IP-over-InfiniBand transport mode. Either \"datagram\" or \"connected\".") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_ADDRESSES N_("A list of IPv4 addresses and their prefix length. Multiple addresses can be separated by comma. For example \"192.168.1.5/24, 10.1.0.5/24\". The addresses are listed in decreasing priority, meaning the first address will be the primary address.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_AUTO_ROUTE_EXT_GW N_("VPN connections will default to add the route automatically unless this setting is set to FALSE. For other connection types, adding such an automatic route is currently not supported and setting this to TRUE has no effect.") +#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_CLAT N_("Controls the CLAT (Customer-side translator) functionality. CLAT is used to implement the client part of 464XLAT (RFC 6877), an architecture that provides IPv4 connectivity to hosts on IPv6-only networks. When CLAT is enabled, NetworkManager discovers the NAT64 prefix from IPv6 Router Advertisements; if a NAT64 prefix is announced, NetworkManager installs a BPF program to perform the stateless translation of packets between IPv4 and IPv6. Setting \"no\" (0) completely disables CLAT. \"auto\" (1) enables CLAT only when the IPv4 method is 'auto' and the device doesn't have a native IPv4 gateway. \"force\" (2) enables CLAT even if the IPv4 method is not 'auto' and even if the device has a native IPv4 gateway. When set to \"default\" (-1), the actual value is looked up in the global configuration; if not specified it defaults to \"no\" (0). In the future the default fall back value will change to \"auto\" (1).") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DAD_TIMEOUT N_("Maximum timeout in milliseconds used to check for the presence of duplicate IP addresses on the network. If an address conflict is detected, the activation will fail. The property is currently implemented only for IPv4. A zero value means that no duplicate address detection is performed, -1 means the default value (either the value configured globally in NetworkManger.conf or 200ms). A value greater than zero is a timeout in milliseconds. Note that the time intervals are subject to randomization as per RFC 5227 and so the actual duration can be between half and the full time specified in this property.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_CLIENT_ID N_("A string sent to the DHCP server to identify the local machine which the DHCP server may use to customize the DHCP lease and options. When the property is a hex string ('aa:bb:cc') it is interpreted as a binary client ID, in which case the first byte is assumed to be the 'type' field as per RFC 2132 section 9.14 and the remaining bytes may be an hardware address (e.g. '01:xx:xx:xx:xx:xx:xx' where 1 is the Ethernet ARP type and the rest is a MAC address). If the property is not a hex string it is considered as a non-hardware-address client ID and the 'type' field is set to 0. The special values \"mac\" and \"perm-mac\" are supported, which use the current or permanent MAC address of the device to generate a client identifier with type ethernet (01). Currently, these options only work for ethernet type of links. The special value \"ipv6-duid\" uses the DUID from \"ipv6.dhcp-duid\" property as an RFC4361-compliant client identifier. As IAID it uses \"ipv4.dhcp-iaid\" and falls back to \"ipv6.dhcp-iaid\" if unset. The special value \"duid\" generates a RFC4361-compliant client identifier based on \"ipv4.dhcp-iaid\" and uses a DUID generated by hashing /etc/machine-id. The special value \"stable\" is supported to generate a type 0 client identifier based on the stable-id (see connection.stable-id) and a per-host key. If you set the stable-id, you may want to include the \"${DEVICE}\" or \"${MAC}\" specifier to get a per-device key. The special value \"none\" prevents any client identifier from being sent. Note that this is normally not recommended. If unset, a globally configured default from NetworkManager.conf is used. If still unset, the default depends on the DHCP plugin. The internal dhcp client will default to \"mac\" and the dhclient plugin will try to use one from its config file if present, or won't sent any client-id otherwise.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_DSCP N_("Specifies the value for the DSCP field (traffic class) of the IP header. When empty, the global default value is used; if no global default is specified, it is assumed to be \"CS0\". Allowed values are: \"CS0\", \"CS4\" and \"CS6\". The property is currently valid only for IPv4, and it is supported only by the \"internal\" DHCP plugin.") @@ -193,7 +194,7 @@ #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_HOSTNAME N_("If the \"dhcp-send-hostname\" property is TRUE, then the specified name will be sent to the DHCP server when acquiring a lease. This property and \"dhcp-fqdn\" are mutually exclusive and cannot be set at the same time.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_HOSTNAME_FLAGS N_("Flags for the DHCP hostname and FQDN. Currently, this property only includes flags to control the FQDN flags set in the DHCP FQDN option. Supported FQDN flags are \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) and \"fqdn-no-update\" (0x4). When no FQDN flag is set and \"fqdn-clear-flags\" (0x8) is set, the DHCP FQDN option will contain no flag. Otherwise, if no FQDN flag is set and \"fqdn-clear-flags\" (0x8) is not set, the standard FQDN flags are set in the request: \"fqdn-serv-update\" (0x1), \"fqdn-encoded\" (0x2) for IPv4 and \"fqdn-serv-update\" (0x1) for IPv6. When this property is set to the default value \"none\" (0x0), a global default is looked up in NetworkManager configuration. If that value is unset or also \"none\" (0x0), then the standard FQDN flags described above are sent in the DHCP requests.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_IAID N_("A string containing the \"Identity Association Identifier\" (IAID) used by the DHCP client. The string can be a 32-bit number (either decimal, hexadecimal or as colon separated hexadecimal numbers). Alternatively it can be set to the special values \"mac\", \"perm-mac\", \"ifname\" or \"stable\". When set to \"mac\" (or \"perm-mac\"), the last 4 bytes of the current (or permanent) MAC address are used as IAID. When set to \"ifname\", the IAID is computed by hashing the interface name. The special value \"stable\" can be used to generate an IAID based on the stable-id (see connection.stable-id), a per-host key and the interface name. When the property is unset, the value from global configuration is used; if no global default is set then the IAID is assumed to be \"ifname\". For DHCPv4, the IAID is only used with \"ipv4.dhcp-client-id\" values \"duid\" and \"ipv6-duid\" to generate the client-id. For DHCPv6, note that at the moment this property is only supported by the \"internal\" DHCPv6 plugin. The \"dhclient\" DHCPv6 plugin always derives the IAID from the MAC address. The actually used DHCPv6 IAID for a currently activated interface is exposed in the lease information of the device.") -#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED N_("Controls the \"IPv6-Only Preferred\" DHCPv4 option (RFC 8925). When set to \"yes\" (1), the host adds the option to the parameter request list; if the DHCP server sends the option back, the host stops the DHCP client for the time interval specified in the option. Enable this feature if the host supports an IPv6-only mode, i.e. either all applications are IPv6-only capable or there is a form of 464XLAT deployed. When set to \"default\" (-1), the actual value is looked up in the global configuration; if not specified, it defaults to \"no\" (0). If the connection has IPv6 method set to \"disabled\", this property does not have effect and the \"IPv6-Only Preferred\" option is always disabled.") +#define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_IPV6_ONLY_PREFERRED N_("Controls the \"IPv6-Only Preferred\" DHCPv4 option (option 108 - RFC 8925). When set to \"yes\" (1), the host adds the option to the parameter request list; if the DHCP server sends the option back, the host stops the DHCP client for the time interval specified in the option. Enable this feature if the host supports an IPv6-only mode, i.e. either all applications are IPv6-only capable or there is a form of CLAT (464XLAT) deployed. If set to \"auto\" (2), the option is automatically turned on when the IPv6 method is \"auto\" and the connection profile has ipv4.clat set to \"yes\" or \"auto\". If these two conditions are met, the host can operate in IPv6-only mode and therefore it is safe to disable DHCPv4 when the network also supports it. When set to \"default\" (-1), the actual value is looked up in the global configuration; if not specified, it defaults to \"auto\" (2). If the connection has IPv6 method set to \"disabled\", this property does not have effect and the \"IPv6-Only Preferred\" option is always disabled.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_REJECT_SERVERS N_("Array of servers from which DHCP offers must be rejected. This property is useful to avoid getting a lease from misconfigured or rogue servers. For DHCPv4, each element must be an IPv4 address, optionally followed by a slash and a prefix length (e.g. \"192.168.122.0/24\"). This property is currently not implemented for DHCPv6.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_SEND_HOSTNAME N_("Since 1.52 this property is deprecated and is only used as fallback value for dhcp-send-hostname if it's set to 'default'. This is only done to avoid breaking existing configurations, the new property should be used from now on.") #define DESCRIBE_DOC_NM_SETTING_IP4_CONFIG_DHCP_SEND_HOSTNAME_V2 N_("If TRUE, a hostname is sent to the DHCP server when acquiring a lease. Some DHCP servers use this hostname to update DNS databases, essentially providing a static hostname for the computer. If the dhcp-hostname property is NULL and this property is TRUE, the current persistent hostname of the computer is sent. The default value is default (-1). In this case the global value from NetworkManager configuration is looked up. If it's not set, the value from dhcp-send-hostname-deprecated, which defaults to TRUE, is used for backwards compatibility. In the future this will change and, in absence of a global default, it will always fallback to TRUE.") diff --git a/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in index f4ffcb41f0..7b718c9e1f 100644 --- a/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in +++ b/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in @@ -1452,9 +1452,13 @@ nmcli-description="The Vendor Class Identifier DHCP option (60). Special characters in the data string may be escaped using C-style escapes, nevertheless this property cannot contain nul bytes. If the per-profile value is unspecified (the default), a global connection default gets consulted. If still unspecified, the DHCP option is not sent to the server." format="string" /> + values="default (-1), no (0), yes (1), auto (2)" /> + >> connection.id: con-gsm1 connection.uuid: UUID-con-gsm1-REPLACED-REPLACED-REPL @@ -255,6 +255,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -332,12 +333,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 6718 +size: 6771 location: src/tests/client/test-client.py:test_003()/15 cmd: $NMCLI con s con-gsm1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6575 bytes +stdout: 6628 bytes >>> connection.id: con-gsm1 connection.uuid: UUID-con-gsm1-REPLACED-REPLACED-REPL @@ -405,6 +406,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -482,42 +484,42 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 588 +size: 591 location: src/tests/client/test-client.py:test_003()/16 cmd: $NMCLI -g all con s con-gsm1 lang: C returncode: 0 -stdout: 449 bytes +stdout: 452 bytes >>> connection:con-gsm1:UUID-con-gsm1-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: serial:5:8:even:1:100 gsm:no::::0:xyz.con-gsm1:::0:no::::auto:no::::0:yes:no:no:no:no:no: proxy:none:no:: <<< -size: 598 +size: 601 location: src/tests/client/test-client.py:test_003()/17 cmd: $NMCLI -g all con s con-gsm1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 449 bytes +stdout: 452 bytes >>> connection:con-gsm1:UUID-con-gsm1-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: serial:5:8:even:1:100 gsm:no::::0:xyz.con-gsm1:::0:no::::auto:no::::0:yes:no:no:no:no:no: proxy:none:no:: <<< -size: 6663 +size: 6716 location: src/tests/client/test-client.py:test_003()/18 cmd: $NMCLI con s con-gsm2 lang: C returncode: 0 -stdout: 6530 bytes +stdout: 6583 bytes >>> connection.id: con-gsm2 connection.uuid: UUID-con-gsm2-REPLACED-REPLACED-REPL @@ -585,6 +587,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -662,12 +665,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 6706 +size: 6759 location: src/tests/client/test-client.py:test_003()/19 cmd: $NMCLI con s con-gsm2 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6563 bytes +stdout: 6616 bytes >>> connection.id: con-gsm2 connection.uuid: UUID-con-gsm2-REPLACED-REPLACED-REPL @@ -735,6 +738,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -812,42 +816,42 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 576 +size: 579 location: src/tests/client/test-client.py:test_003()/20 cmd: $NMCLI -g all con s con-gsm2 lang: C returncode: 0 -stdout: 437 bytes +stdout: 440 bytes >>> connection:con-gsm2:UUID-con-gsm2-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: serial:5:8:even:1:100 gsm:no::::0::::0:no::::auto:no::::0:yes:no:no:no:no:no: proxy:none:no:: <<< -size: 586 +size: 589 location: src/tests/client/test-client.py:test_003()/21 cmd: $NMCLI -g all con s con-gsm2 lang: pl_PL.UTF-8 returncode: 0 -stdout: 437 bytes +stdout: 440 bytes >>> connection:con-gsm2:UUID-con-gsm2-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: serial:5:8:even:1:100 gsm:no::::0::::0:no::::auto:no::::0:yes:no:no:no:no:no: proxy:none:no:: <<< -size: 6663 +size: 6716 location: src/tests/client/test-client.py:test_003()/22 cmd: $NMCLI con s con-gsm3 lang: C returncode: 0 -stdout: 6530 bytes +stdout: 6583 bytes >>> connection.id: con-gsm3 connection.uuid: UUID-con-gsm3-REPLACED-REPLACED-REPL @@ -915,6 +919,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -992,12 +997,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 6706 +size: 6759 location: src/tests/client/test-client.py:test_003()/23 cmd: $NMCLI con s con-gsm3 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6563 bytes +stdout: 6616 bytes >>> connection.id: con-gsm3 connection.uuid: UUID-con-gsm3-REPLACED-REPLACED-REPL @@ -1065,6 +1070,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1142,30 +1148,30 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 577 +size: 580 location: src/tests/client/test-client.py:test_003()/24 cmd: $NMCLI -g all con s con-gsm3 lang: C returncode: 0 -stdout: 438 bytes +stdout: 441 bytes >>> connection:con-gsm3:UUID-con-gsm3-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: serial:5:8:even:1:100 gsm:no::::0: :::0:no::::auto:no::::0:yes:no:no:no:no:no: proxy:none:no:: <<< -size: 587 +size: 590 location: src/tests/client/test-client.py:test_003()/25 cmd: $NMCLI -g all con s con-gsm3 lang: pl_PL.UTF-8 returncode: 0 -stdout: 438 bytes +stdout: 441 bytes >>> connection:con-gsm3:UUID-con-gsm3-REPLACED-REPLACED-REPL::gsm::no:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::: :0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: serial:5:8:even:1:100 gsm:no::::0: :::0:no::::auto:no::::0:yes:no:no:no:no:no: @@ -1312,12 +1318,12 @@ UUID NAME UUID-ethernet-REPLACED-REPLACED-REPL ethernet <<< -size: 5972 +size: 6025 location: src/tests/client/test-client.py:test_003()/37 cmd: $NMCLI -f ALL con s ethernet lang: C returncode: 0 -stdout: 5832 bytes +stdout: 5885 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -1400,6 +1406,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1446,12 +1453,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 6007 +size: 6060 location: src/tests/client/test-client.py:test_003()/38 cmd: $NMCLI -f ALL con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 5857 bytes +stdout: 5910 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -1534,6 +1541,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1600,12 +1608,12 @@ stdout: 51 bytes GENERAL.STATE: aktywowano <<< -size: 6674 +size: 6727 location: src/tests/client/test-client.py:test_003()/41 cmd: $NMCLI con s ethernet lang: C returncode: 0 -stdout: 6541 bytes +stdout: 6594 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -1688,6 +1696,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1747,12 +1756,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6713 +size: 6766 location: src/tests/client/test-client.py:test_003()/42 cmd: $NMCLI con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 6570 bytes +stdout: 6623 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -1835,6 +1844,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -2380,12 +2390,12 @@ UUID NAME UUID-ethernet-REPLACED-REPLACED-REPL ethernet <<< -size: 5972 +size: 6025 location: src/tests/client/test-client.py:test_003()/62 cmd: $NMCLI -f ALL con s ethernet lang: C returncode: 0 -stdout: 5832 bytes +stdout: 5885 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -2468,6 +2478,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -2514,12 +2525,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 6007 +size: 6060 location: src/tests/client/test-client.py:test_003()/63 cmd: $NMCLI -f ALL con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 5857 bytes +stdout: 5910 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -2602,6 +2613,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -2672,12 +2684,12 @@ GENERAL.STATE: aktywowano GENERAL.STATE: aktywowano <<< -size: 7384 +size: 7437 location: src/tests/client/test-client.py:test_003()/66 cmd: $NMCLI con s ethernet lang: C returncode: 0 -stdout: 7251 bytes +stdout: 7304 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -2760,6 +2772,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -2833,12 +2846,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 7427 +size: 7480 location: src/tests/client/test-client.py:test_003()/67 cmd: $NMCLI con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 7284 bytes +stdout: 7337 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -2921,6 +2934,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -3502,12 +3516,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 7387 +size: 7440 location: src/tests/client/test-client.py:test_003()/84 cmd: $NMCLI con s ethernet lang: C returncode: 0 -stdout: 7254 bytes +stdout: 7307 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -3590,6 +3604,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -3663,12 +3678,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 7431 +size: 7484 location: src/tests/client/test-client.py:test_003()/85 cmd: $NMCLI con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 7288 bytes +stdout: 7341 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -3751,6 +3766,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -3824,12 +3840,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6717 +size: 6770 location: src/tests/client/test-client.py:test_003()/86 cmd: $NMCLI c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 6544 bytes +stdout: 6597 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -3912,6 +3928,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -3971,12 +3988,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6757 +size: 6810 location: src/tests/client/test-client.py:test_003()/87 cmd: $NMCLI c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6574 bytes +stdout: 6627 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -4059,6 +4076,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4328,12 +4346,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 7399 +size: 7452 location: src/tests/client/test-client.py:test_003()/94 cmd: $NMCLI --color yes con s ethernet lang: C returncode: 0 -stdout: 7254 bytes +stdout: 7307 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -4416,6 +4434,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4489,12 +4508,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 7443 +size: 7496 location: src/tests/client/test-client.py:test_003()/95 cmd: $NMCLI --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 7288 bytes +stdout: 7341 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -4577,6 +4596,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4650,12 +4670,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6729 +size: 6782 location: src/tests/client/test-client.py:test_003()/96 cmd: $NMCLI --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 6544 bytes +stdout: 6597 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -4738,6 +4758,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4797,12 +4818,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6769 +size: 6822 location: src/tests/client/test-client.py:test_003()/97 cmd: $NMCLI --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6574 bytes +stdout: 6627 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -4885,6 +4906,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5170,12 +5192,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 8640 +size: 8693 location: src/tests/client/test-client.py:test_003()/104 cmd: $NMCLI --pretty con s ethernet lang: C returncode: 0 -stdout: 8497 bytes +stdout: 8550 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -5263,6 +5285,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5347,12 +5370,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 8705 +size: 8758 location: src/tests/client/test-client.py:test_003()/105 cmd: $NMCLI --pretty con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 8552 bytes +stdout: 8605 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -5440,6 +5463,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5524,12 +5548,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7658 +size: 7711 location: src/tests/client/test-client.py:test_003()/106 cmd: $NMCLI --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 7475 bytes +stdout: 7528 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -5617,6 +5641,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5683,12 +5708,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7711 +size: 7764 location: src/tests/client/test-client.py:test_003()/107 cmd: $NMCLI --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7518 bytes +stdout: 7571 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -5776,6 +5801,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -6092,12 +6118,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 8652 +size: 8705 location: src/tests/client/test-client.py:test_003()/114 cmd: $NMCLI --pretty --color yes con s ethernet lang: C returncode: 0 -stdout: 8497 bytes +stdout: 8550 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -6185,6 +6211,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -6269,12 +6296,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 8717 +size: 8770 location: src/tests/client/test-client.py:test_003()/115 cmd: $NMCLI --pretty --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 8552 bytes +stdout: 8605 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -6362,6 +6389,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -6446,12 +6474,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7670 +size: 7723 location: src/tests/client/test-client.py:test_003()/116 cmd: $NMCLI --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 7475 bytes +stdout: 7528 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -6539,6 +6567,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -6605,12 +6634,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7723 +size: 7776 location: src/tests/client/test-client.py:test_003()/117 cmd: $NMCLI --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7518 bytes +stdout: 7571 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -6698,6 +6727,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -6994,12 +7024,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet <<< -size: 3959 +size: 3972 location: src/tests/client/test-client.py:test_003()/124 cmd: $NMCLI --terse con s ethernet lang: C returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -7082,6 +7112,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -7155,12 +7186,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3969 +size: 3982 location: src/tests/client/test-client.py:test_003()/125 cmd: $NMCLI --terse con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -7243,6 +7274,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -7316,12 +7348,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3609 +size: 3622 location: src/tests/client/test-client.py:test_003()/126 cmd: $NMCLI --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -7404,6 +7436,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -7463,12 +7496,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3619 +size: 3632 location: src/tests/client/test-client.py:test_003()/127 cmd: $NMCLI --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -7551,6 +7584,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -7816,12 +7850,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet <<< -size: 3971 +size: 3984 location: src/tests/client/test-client.py:test_003()/134 cmd: $NMCLI --terse --color yes con s ethernet lang: C returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -7904,6 +7938,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -7977,12 +8012,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3981 +size: 3994 location: src/tests/client/test-client.py:test_003()/135 cmd: $NMCLI --terse --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -8065,6 +8100,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -8138,12 +8174,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3621 +size: 3634 location: src/tests/client/test-client.py:test_003()/136 cmd: $NMCLI --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -8226,6 +8262,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -8285,12 +8322,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3631 +size: 3644 location: src/tests/client/test-client.py:test_003()/137 cmd: $NMCLI --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -8373,6 +8410,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -8642,12 +8680,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 5083 +size: 5111 location: src/tests/client/test-client.py:test_003()/144 cmd: $NMCLI --mode tabular con s ethernet lang: C returncode: 0 -stdout: 4934 bytes +stdout: 4962 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8655,8 +8693,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -8673,12 +8711,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 5133 +size: 5161 location: src/tests/client/test-client.py:test_003()/145 cmd: $NMCLI --mode tabular con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 4974 bytes +stdout: 5002 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8686,8 +8724,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -8704,12 +8742,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deza <<< -size: 4621 +size: 4649 location: src/tests/client/test-client.py:test_003()/146 cmd: $NMCLI --mode tabular c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 4432 bytes +stdout: 4460 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8717,8 +8755,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -8731,12 +8769,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 4669 +size: 4697 location: src/tests/client/test-client.py:test_003()/147 cmd: $NMCLI --mode tabular c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 4470 bytes +stdout: 4498 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8744,8 +8782,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -8894,12 +8932,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 5095 +size: 5123 location: src/tests/client/test-client.py:test_003()/154 cmd: $NMCLI --mode tabular --color yes con s ethernet lang: C returncode: 0 -stdout: 4934 bytes +stdout: 4962 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8907,8 +8945,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -8925,12 +8963,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 5145 +size: 5173 location: src/tests/client/test-client.py:test_003()/155 cmd: $NMCLI --mode tabular --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 4974 bytes +stdout: 5002 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8938,8 +8976,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -8956,12 +8994,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deza <<< -size: 4633 +size: 4661 location: src/tests/client/test-client.py:test_003()/156 cmd: $NMCLI --mode tabular --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 4432 bytes +stdout: 4460 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8969,8 +9007,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -8983,12 +9021,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 4681 +size: 4709 location: src/tests/client/test-client.py:test_003()/157 cmd: $NMCLI --mode tabular --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 4470 bytes +stdout: 4498 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-ethernet -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 @@ -8996,8 +9034,8 @@ connection ethernet UUID-ethernet-REPLACED-REPLACED-REPL -- 802-3-eth name port speed duplex auto-negotiate mac-address cloned-mac-address generate-mac-address-mask mac-address-denylist mtu s390-subchannels s390-nettype s390-options wake-on-lan wake-on-lan-password accept-all-mac-addresses 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -9162,12 +9200,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 8096 +size: 8138 location: src/tests/client/test-client.py:test_003()/164 cmd: $NMCLI --mode tabular --pretty con s ethernet lang: C returncode: 0 -stdout: 7938 bytes +stdout: 7980 bytes >>> ========================================= Connection profile details (ethernet) @@ -9180,9 +9218,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9209,12 +9247,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 8226 +size: 8268 location: src/tests/client/test-client.py:test_003()/165 cmd: $NMCLI --mode tabular --pretty con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 8058 bytes +stdout: 8100 bytes >>> =========================================== Szczegóły profilu połączenia (ethernet) @@ -9227,9 +9265,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9256,12 +9294,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deza <<< -size: 7178 +size: 7220 location: src/tests/client/test-client.py:test_003()/166 cmd: $NMCLI --mode tabular --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 6980 bytes +stdout: 7022 bytes >>> ========================================= Connection profile details (ethernet) @@ -9274,9 +9312,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9295,12 +9333,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 7280 +size: 7322 location: src/tests/client/test-client.py:test_003()/167 cmd: $NMCLI --mode tabular --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7072 bytes +stdout: 7114 bytes >>> =========================================== Szczegóły profilu połączenia (ethernet) @@ -9313,9 +9351,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9510,12 +9548,12 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL gsm UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet <<< -size: 8108 +size: 8150 location: src/tests/client/test-client.py:test_003()/174 cmd: $NMCLI --mode tabular --pretty --color yes con s ethernet lang: C returncode: 0 -stdout: 7938 bytes +stdout: 7980 bytes >>> ========================================= Connection profile details (ethernet) @@ -9528,9 +9566,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9557,12 +9595,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 8238 +size: 8280 location: src/tests/client/test-client.py:test_003()/175 cmd: $NMCLI --mode tabular --pretty --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 8058 bytes +stdout: 8100 bytes >>> =========================================== Szczegóły profilu połączenia (ethernet) @@ -9575,9 +9613,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9604,12 +9642,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deza <<< -size: 7190 +size: 7232 location: src/tests/client/test-client.py:test_003()/176 cmd: $NMCLI --mode tabular --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 6980 bytes +stdout: 7022 bytes >>> ========================================= Connection profile details (ethernet) @@ -9622,9 +9660,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- no -- -- -- -- auto -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9643,12 +9681,12 @@ GENERAL ethernet UUID-ethernet-REPLACED-REPLACED-REPL eth0 eth0 deac <<< -size: 7292 +size: 7334 location: src/tests/client/test-client.py:test_003()/177 cmd: $NMCLI --mode tabular --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7072 bytes +stdout: 7114 bytes >>> =========================================== Szczegóły profilu połączenia (ethernet) @@ -9661,9 +9699,9 @@ name port speed duplex auto-negotiate mac-address cloned-mac-add ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 802-3-ethernet -- 0 -- nie -- -- -- -- automatyczne -- -- -- default -- -1 (default) -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -9838,16 +9876,16 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet <<< -size: 934 +size: 937 location: src/tests/client/test-client.py:test_003()/184 cmd: $NMCLI --mode tabular --terse con s ethernet lang: C returncode: 0 -stdout: 778 bytes +stdout: 781 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6:: @@ -9855,16 +9893,16 @@ GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: <<< -size: 944 +size: 947 location: src/tests/client/test-client.py:test_003()/185 cmd: $NMCLI --mode tabular --terse con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 778 bytes +stdout: 781 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6:: @@ -9872,31 +9910,31 @@ GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: <<< -size: 782 +size: 785 location: src/tests/client/test-client.py:test_003()/186 cmd: $NMCLI --mode tabular --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 586 bytes +stdout: 589 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: <<< -size: 792 +size: 795 location: src/tests/client/test-client.py:test_003()/187 cmd: $NMCLI --mode tabular --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 586 bytes +stdout: 589 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: @@ -10000,16 +10038,16 @@ UUID-con-gsm3-REPLACED-REPLACED-REPL:gsm UUID-con-xx1-REPLACED-REPLACED-REPLA:802-3-ethernet <<< -size: 946 +size: 949 location: src/tests/client/test-client.py:test_003()/194 cmd: $NMCLI --mode tabular --terse --color yes con s ethernet lang: C returncode: 0 -stdout: 778 bytes +stdout: 781 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6:: @@ -10017,16 +10055,16 @@ GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: <<< -size: 956 +size: 959 location: src/tests/client/test-client.py:test_003()/195 cmd: $NMCLI --mode tabular --terse --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 778 bytes +stdout: 781 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/2:/org/freedesktop/NetworkManager/Settings/Connection/6:: @@ -10034,31 +10072,31 @@ GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth1:eth1:activated:no:no: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: <<< -size: 794 +size: 797 location: src/tests/client/test-client.py:test_003()/196 cmd: $NMCLI --mode tabular --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 586 bytes +stdout: 589 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: <<< -size: 804 +size: 807 location: src/tests/client/test-client.py:test_003()/197 cmd: $NMCLI --mode tabular --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 586 bytes +stdout: 589 bytes >>> connection:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL::802-3-ethernet::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 802-3-ethernet::0::no:::::auto::::default::-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: proxy:none:no:: GENERAL:ethernet:UUID-ethernet-REPLACED-REPLACED-REPL:eth0:eth0:deactivating:no:no::no:/org/freedesktop/NetworkManager/ActiveConnection/1:/org/freedesktop/NetworkManager/Settings/Connection/6:: @@ -10370,12 +10408,12 @@ UUID: UUID-con-xx1-REPLACED-REPLACED-REPLA TYPE: ethernet <<< -size: 7405 +size: 7458 location: src/tests/client/test-client.py:test_003()/204 cmd: $NMCLI --mode multiline con s ethernet lang: C returncode: 0 -stdout: 7254 bytes +stdout: 7307 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -10458,6 +10496,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -10531,12 +10570,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 7449 +size: 7502 location: src/tests/client/test-client.py:test_003()/205 cmd: $NMCLI --mode multiline con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 7288 bytes +stdout: 7341 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -10619,6 +10658,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -10692,12 +10732,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6735 +size: 6788 location: src/tests/client/test-client.py:test_003()/206 cmd: $NMCLI --mode multiline c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 6544 bytes +stdout: 6597 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -10780,6 +10820,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -10839,12 +10880,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6775 +size: 6828 location: src/tests/client/test-client.py:test_003()/207 cmd: $NMCLI --mode multiline c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6574 bytes +stdout: 6627 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -10927,6 +10968,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -11400,12 +11442,12 @@ UUID: UUID-con-xx1-REPLACED-REPLACED-REPLA TYPE: ethernet <<< -size: 7417 +size: 7470 location: src/tests/client/test-client.py:test_003()/214 cmd: $NMCLI --mode multiline --color yes con s ethernet lang: C returncode: 0 -stdout: 7254 bytes +stdout: 7307 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -11488,6 +11530,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -11561,12 +11604,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 7461 +size: 7514 location: src/tests/client/test-client.py:test_003()/215 cmd: $NMCLI --mode multiline --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 7288 bytes +stdout: 7341 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -11649,6 +11692,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -11722,12 +11766,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6747 +size: 6800 location: src/tests/client/test-client.py:test_003()/216 cmd: $NMCLI --mode multiline --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 6544 bytes +stdout: 6597 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -11810,6 +11854,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -11869,12 +11914,12 @@ GENERAL.ZONE: -- GENERAL.MASTER-PATH: -- <<< -size: 6787 +size: 6840 location: src/tests/client/test-client.py:test_003()/217 cmd: $NMCLI --mode multiline --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6574 bytes +stdout: 6627 bytes >>> connection.id: ethernet connection.uuid: UUID-ethernet-REPLACED-REPLACED-REPL @@ -11957,6 +12002,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12468,12 +12514,12 @@ TYPE: ethernet ------------------------------------------------------------------------------- <<< -size: 8657 +size: 8710 location: src/tests/client/test-client.py:test_003()/224 cmd: $NMCLI --mode multiline --pretty con s ethernet lang: C returncode: 0 -stdout: 8497 bytes +stdout: 8550 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -12561,6 +12607,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12645,12 +12692,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 8722 +size: 8775 location: src/tests/client/test-client.py:test_003()/225 cmd: $NMCLI --mode multiline --pretty con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 8552 bytes +stdout: 8605 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -12738,6 +12785,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12822,12 +12870,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7675 +size: 7728 location: src/tests/client/test-client.py:test_003()/226 cmd: $NMCLI --mode multiline --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 7475 bytes +stdout: 7528 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -12915,6 +12963,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12981,12 +13030,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7728 +size: 7781 location: src/tests/client/test-client.py:test_003()/227 cmd: $NMCLI --mode multiline --pretty c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7518 bytes +stdout: 7571 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -13074,6 +13123,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -13616,12 +13666,12 @@ TYPE: ethernet ------------------------------------------------------------------------------- <<< -size: 8669 +size: 8722 location: src/tests/client/test-client.py:test_003()/234 cmd: $NMCLI --mode multiline --pretty --color yes con s ethernet lang: C returncode: 0 -stdout: 8497 bytes +stdout: 8550 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -13709,6 +13759,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -13793,12 +13844,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 8734 +size: 8787 location: src/tests/client/test-client.py:test_003()/235 cmd: $NMCLI --mode multiline --pretty --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 8552 bytes +stdout: 8605 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -13886,6 +13937,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -13970,12 +14022,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7687 +size: 7740 location: src/tests/client/test-client.py:test_003()/236 cmd: $NMCLI --mode multiline --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 7475 bytes +stdout: 7528 bytes >>> =============================================================================== Connection profile details (ethernet) @@ -14063,6 +14115,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -14129,12 +14182,12 @@ GENERAL.MASTER-PATH: -- ------------------------------------------------------------------------------- <<< -size: 7740 +size: 7793 location: src/tests/client/test-client.py:test_003()/237 cmd: $NMCLI --mode multiline --pretty --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7518 bytes +stdout: 7571 bytes >>> =============================================================================== Szczegóły profilu połączenia (ethernet) @@ -14222,6 +14275,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -14726,12 +14780,12 @@ UUID:UUID-con-xx1-REPLACED-REPLACED-REPLA TYPE:802-3-ethernet <<< -size: 3976 +size: 3989 location: src/tests/client/test-client.py:test_003()/244 cmd: $NMCLI --mode multiline --terse con s ethernet lang: C returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -14814,6 +14868,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -14887,12 +14942,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3986 +size: 3999 location: src/tests/client/test-client.py:test_003()/245 cmd: $NMCLI --mode multiline --terse con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -14975,6 +15030,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -15048,12 +15104,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3626 +size: 3639 location: src/tests/client/test-client.py:test_003()/246 cmd: $NMCLI --mode multiline --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -15136,6 +15192,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -15195,12 +15252,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3636 +size: 3649 location: src/tests/client/test-client.py:test_003()/247 cmd: $NMCLI --mode multiline --terse c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -15283,6 +15340,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -15756,12 +15814,12 @@ UUID:UUID-con-xx1-REPLACED-REPLACED-REPLA TYPE:802-3-ethernet <<< -size: 3988 +size: 4001 location: src/tests/client/test-client.py:test_003()/254 cmd: $NMCLI --mode multiline --terse --color yes con s ethernet lang: C returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -15844,6 +15902,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -15917,12 +15976,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3998 +size: 4011 location: src/tests/client/test-client.py:test_003()/255 cmd: $NMCLI --mode multiline --terse --color yes con s ethernet lang: pl_PL.UTF-8 returncode: 0 -stdout: 3817 bytes +stdout: 3830 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -16005,6 +16064,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -16078,12 +16138,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3638 +size: 3651 location: src/tests/client/test-client.py:test_003()/256 cmd: $NMCLI --mode multiline --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: C returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -16166,6 +16226,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -16225,12 +16286,12 @@ GENERAL.ZONE: GENERAL.MASTER-PATH: <<< -size: 3648 +size: 3661 location: src/tests/client/test-client.py:test_003()/257 cmd: $NMCLI --mode multiline --terse --color yes c s /org/freedesktop/NetworkManager/ActiveConnection/1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3427 bytes +stdout: 3440 bytes >>> connection.id:ethernet connection.uuid:UUID-ethernet-REPLACED-REPLACED-REPL @@ -16313,6 +16374,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 diff --git a/src/tests/client/test-client.check-on-disk/test_004.expected b/src/tests/client/test-client.check-on-disk/test_004.expected index d962f8ed67..d0270bded5 100644 --- a/src/tests/client/test-client.check-on-disk/test_004.expected +++ b/src/tests/client/test-client.check-on-disk/test_004.expected @@ -58,12 +58,12 @@ location: src/tests/client/test-client.py:test_004()/7 cmd: $NMCLI connection mod con-xx1 ipv4.addresses 192.168.77.5/24 ipv4.routes '2.3.4.5/32 192.168.77.1' ipv6.addresses 1:2:3:4::6/64 ipv6.routes 1:2:3:4:5:6::5/128 lang: C returncode: 0 -size: 6252 +size: 6305 location: src/tests/client/test-client.py:test_004()/8 cmd: $NMCLI con s con-xx1 lang: C returncode: 0 -stdout: 6121 bytes +stdout: 6174 bytes >>> connection.id: con-xx1 connection.uuid: UUID-con-xx1-REPLACED-REPLACED-REPLA @@ -149,6 +149,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -195,12 +196,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 6287 +size: 6340 location: src/tests/client/test-client.py:test_004()/9 cmd: $NMCLI con s con-xx1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6146 bytes +stdout: 6199 bytes >>> connection.id: con-xx1 connection.uuid: UUID-con-xx1-REPLACED-REPLACED-REPLA @@ -286,6 +287,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -368,12 +370,12 @@ con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP vpn -- con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA wifi -- <<< -size: 5628 +size: 5681 location: src/tests/client/test-client.py:test_004()/13 cmd: $NMCLI con s con-vpn-1 lang: C returncode: 0 -stdout: 5494 bytes +stdout: 5547 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -441,6 +443,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -493,12 +496,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 5655 +size: 5708 location: src/tests/client/test-client.py:test_004()/14 cmd: $NMCLI con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5511 bytes +stdout: 5564 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -566,6 +569,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -690,12 +694,12 @@ con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA wifi wlan0 con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet -- <<< -size: 6756 +size: 6809 location: src/tests/client/test-client.py:test_004()/21 cmd: $NMCLI con s con-vpn-1 lang: C returncode: 0 -stdout: 6622 bytes +stdout: 6675 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -763,6 +767,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -836,12 +841,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6789 +size: 6842 location: src/tests/client/test-client.py:test_004()/22 cmd: $NMCLI con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6645 bytes +stdout: 6698 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -909,6 +914,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1098,12 +1104,12 @@ con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA wifi 0 never con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- /etc/NetworkManager/system-connections/con-1 <<< -size: 6762 +size: 6815 location: src/tests/client/test-client.py:test_004()/27 cmd: $NMCLI con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -1171,6 +1177,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1244,12 +1251,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6799 +size: 6852 location: src/tests/client/test-client.py:test_004()/28 cmd: $NMCLI con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -1317,6 +1324,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1390,12 +1398,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6762 +size: 6815 location: src/tests/client/test-client.py:test_004()/29 cmd: $NMCLI con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -1463,6 +1471,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1536,12 +1545,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6799 +size: 6852 location: src/tests/client/test-client.py:test_004()/30 cmd: $NMCLI con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -1609,6 +1618,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1682,12 +1692,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 5635 +size: 5688 location: src/tests/client/test-client.py:test_004()/31 cmd: $NMCLI -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 5494 bytes +stdout: 5547 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -1755,6 +1765,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -1807,12 +1818,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 5662 +size: 5715 location: src/tests/client/test-client.py:test_004()/32 cmd: $NMCLI -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5511 bytes +stdout: 5564 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -1880,6 +1891,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4568,12 +4580,12 @@ connection.type: 802-11-wireless connection.interface-name: -- <<< -size: 6774 +size: 6827 location: src/tests/client/test-client.py:test_004()/77 cmd: $NMCLI --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -4641,6 +4653,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4714,12 +4727,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6811 +size: 6864 location: src/tests/client/test-client.py:test_004()/78 cmd: $NMCLI --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -4787,6 +4800,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -4860,12 +4874,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6774 +size: 6827 location: src/tests/client/test-client.py:test_004()/79 cmd: $NMCLI --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -4933,6 +4947,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5006,12 +5021,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6811 +size: 6864 location: src/tests/client/test-client.py:test_004()/80 cmd: $NMCLI --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -5079,6 +5094,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5152,12 +5168,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 5647 +size: 5700 location: src/tests/client/test-client.py:test_004()/81 cmd: $NMCLI --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 5494 bytes +stdout: 5547 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -5225,6 +5241,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -5277,12 +5294,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 5674 +size: 5727 location: src/tests/client/test-client.py:test_004()/82 cmd: $NMCLI --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5511 bytes +stdout: 5564 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -5350,6 +5367,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -8038,12 +8056,12 @@ connection.type: 802-11-wireless connection.interface-name: -- <<< -size: 7783 +size: 7836 location: src/tests/client/test-client.py:test_004()/127 cmd: $NMCLI --pretty con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -8115,6 +8133,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -8197,12 +8216,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7833 +size: 7886 location: src/tests/client/test-client.py:test_004()/128 cmd: $NMCLI --pretty con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -8274,6 +8293,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -8356,12 +8376,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7783 +size: 7836 location: src/tests/client/test-client.py:test_004()/129 cmd: $NMCLI --pretty con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -8433,6 +8453,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -8515,12 +8536,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7833 +size: 7886 location: src/tests/client/test-client.py:test_004()/130 cmd: $NMCLI --pretty con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -8592,6 +8613,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -8674,12 +8696,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 6264 +size: 6317 location: src/tests/client/test-client.py:test_004()/131 cmd: $NMCLI --pretty -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 6113 bytes +stdout: 6166 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -8751,6 +8773,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -8807,12 +8830,12 @@ proxy.pac-script: -- ------------------------------------------------------------------------------- <<< -size: 6296 +size: 6349 location: src/tests/client/test-client.py:test_004()/132 cmd: $NMCLI --pretty -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6135 bytes +stdout: 6188 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -8884,6 +8907,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12180,12 +12204,12 @@ connection.interface-name: -- ------------------------------------------------------------------------------- <<< -size: 7795 +size: 7848 location: src/tests/client/test-client.py:test_004()/177 cmd: $NMCLI --pretty --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -12257,6 +12281,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12339,12 +12364,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7845 +size: 7898 location: src/tests/client/test-client.py:test_004()/178 cmd: $NMCLI --pretty --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -12416,6 +12441,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12498,12 +12524,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7795 +size: 7848 location: src/tests/client/test-client.py:test_004()/179 cmd: $NMCLI --pretty --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -12575,6 +12601,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12657,12 +12684,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7845 +size: 7898 location: src/tests/client/test-client.py:test_004()/180 cmd: $NMCLI --pretty --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -12734,6 +12761,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12816,12 +12844,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 6276 +size: 6329 location: src/tests/client/test-client.py:test_004()/181 cmd: $NMCLI --pretty --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 6113 bytes +stdout: 6166 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -12893,6 +12921,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -12949,12 +12978,12 @@ proxy.pac-script: -- ------------------------------------------------------------------------------- <<< -size: 6308 +size: 6361 location: src/tests/client/test-client.py:test_004()/182 cmd: $NMCLI --pretty --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6135 bytes +stdout: 6188 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -13026,6 +13055,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -16322,12 +16352,12 @@ connection.interface-name: -- ------------------------------------------------------------------------------- <<< -size: 3449 +size: 3462 location: src/tests/client/test-client.py:test_004()/227 cmd: $NMCLI --terse con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -16395,6 +16425,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -16468,12 +16499,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3459 +size: 3472 location: src/tests/client/test-client.py:test_004()/228 cmd: $NMCLI --terse con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -16541,6 +16572,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -16614,12 +16646,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3449 +size: 3462 location: src/tests/client/test-client.py:test_004()/229 cmd: $NMCLI --terse con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -16687,6 +16719,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -16760,12 +16793,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3459 +size: 3472 location: src/tests/client/test-client.py:test_004()/230 cmd: $NMCLI --terse con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -16833,6 +16866,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -16906,12 +16940,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 2874 +size: 2887 location: src/tests/client/test-client.py:test_004()/231 cmd: $NMCLI --terse -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -16979,6 +17013,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -17031,12 +17066,12 @@ proxy.pac-url: proxy.pac-script: <<< -size: 2884 +size: 2897 location: src/tests/client/test-client.py:test_004()/232 cmd: $NMCLI --terse -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -17104,6 +17139,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -19762,12 +19798,12 @@ connection.type:802-11-wireless connection.interface-name: <<< -size: 3461 +size: 3474 location: src/tests/client/test-client.py:test_004()/277 cmd: $NMCLI --terse --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -19835,6 +19871,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -19908,12 +19945,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3471 +size: 3484 location: src/tests/client/test-client.py:test_004()/278 cmd: $NMCLI --terse --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -19981,6 +20018,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -20054,12 +20092,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3461 +size: 3474 location: src/tests/client/test-client.py:test_004()/279 cmd: $NMCLI --terse --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -20127,6 +20165,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -20200,12 +20239,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3471 +size: 3484 location: src/tests/client/test-client.py:test_004()/280 cmd: $NMCLI --terse --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -20273,6 +20312,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -20346,12 +20386,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 2886 +size: 2899 location: src/tests/client/test-client.py:test_004()/281 cmd: $NMCLI --terse --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -20419,6 +20459,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -20471,12 +20512,12 @@ proxy.pac-url: proxy.pac-script: <<< -size: 2896 +size: 2909 location: src/tests/client/test-client.py:test_004()/282 cmd: $NMCLI --terse --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -20544,6 +20585,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -23202,18 +23244,18 @@ connection.type:802-11-wireless connection.interface-name: <<< -size: 4574 +size: 4602 location: src/tests/client/test-client.py:test_004()/327 cmd: $NMCLI --mode tabular con s con-vpn-1 lang: C returncode: 0 -stdout: 4424 bytes +stdout: 4452 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -23231,18 +23273,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 4613 +size: 4641 location: src/tests/client/test-client.py:test_004()/328 cmd: $NMCLI --mode tabular con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 4453 bytes +stdout: 4481 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -23260,18 +23302,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 4574 +size: 4602 location: src/tests/client/test-client.py:test_004()/329 cmd: $NMCLI --mode tabular con s con-vpn-1 lang: C returncode: 0 -stdout: 4424 bytes +stdout: 4452 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -23289,18 +23331,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 4613 +size: 4641 location: src/tests/client/test-client.py:test_004()/330 cmd: $NMCLI --mode tabular con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 4453 bytes +stdout: 4481 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -23318,18 +23360,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 3822 +size: 3850 location: src/tests/client/test-client.py:test_004()/331 cmd: $NMCLI --mode tabular -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 3665 bytes +stdout: 3693 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -23342,18 +23384,18 @@ proxy none no -- -- <<< -size: 3850 +size: 3878 location: src/tests/client/test-client.py:test_004()/332 cmd: $NMCLI --mode tabular -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3683 bytes +stdout: 3711 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -24856,18 +24898,18 @@ interface-name <<< -size: 4586 +size: 4614 location: src/tests/client/test-client.py:test_004()/377 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 4424 bytes +stdout: 4452 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -24885,18 +24927,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 4625 +size: 4653 location: src/tests/client/test-client.py:test_004()/378 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 4453 bytes +stdout: 4481 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -24914,18 +24956,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 4586 +size: 4614 location: src/tests/client/test-client.py:test_004()/379 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 4424 bytes +stdout: 4452 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -24943,18 +24985,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 4625 +size: 4653 location: src/tests/client/test-client.py:test_004()/380 cmd: $NMCLI --mode tabular --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 4453 bytes +stdout: 4481 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -24972,18 +25014,18 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 3834 +size: 3862 location: src/tests/client/test-client.py:test_004()/381 cmd: $NMCLI --mode tabular --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 3665 bytes +stdout: 3693 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no no yes -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) auto -- -- -- 0 (default) yes -1 (default) -- 0x0 (none) -1 (default) -- @@ -24996,18 +25038,18 @@ proxy none no -- -- <<< -size: 3862 +size: 3890 location: src/tests/client/test-client.py:test_004()/382 cmd: $NMCLI --mode tabular --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3683 bytes +stdout: 3711 bytes >>> name id uuid stable-id type interface-name autoconnect autoconnect-priority autoconnect-retries multi-connect auth-retries timestamp permissions zone controller master slave-type port-type autoconnect-slaves autoconnect-ports down-on-poweroff secondaries gateway-ping-timeout ip-ping-timeout ip-ping-addresses ip-ping-addresses-require-all metered lldp mdns llmnr dns-over-tls dnssec mptcp-flags wait-device-timeout wait-activation-delay connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ipv6 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie nie tak -1 (default) -1 (default) 0 (default) 0 (default) default 0 (default) automatyczne -- -- -- 0 (default) tak -1 (default) -- 0x0 (none) -1 (default) -- @@ -26510,12 +26552,12 @@ interface-name <<< -size: 7131 +size: 7173 location: src/tests/client/test-client.py:test_004()/427 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1 lang: C returncode: 0 -stdout: 6972 bytes +stdout: 7014 bytes >>> ========================================== Connection profile details (con-vpn-1) @@ -26524,9 +26566,9 @@ name id uuid stable-id type in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -26552,12 +26594,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 7217 +size: 7259 location: src/tests/client/test-client.py:test_004()/428 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7048 bytes +stdout: 7090 bytes >>> ============================================ Szczegóły profilu połączenia (con-vpn-1) @@ -26566,9 +26608,9 @@ name id uuid stable-id type in ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -26594,12 +26636,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 7131 +size: 7173 location: src/tests/client/test-client.py:test_004()/429 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1 lang: C returncode: 0 -stdout: 6972 bytes +stdout: 7014 bytes >>> ========================================== Connection profile details (con-vpn-1) @@ -26608,9 +26650,9 @@ name id uuid stable-id type in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -26636,12 +26678,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 7217 +size: 7259 location: src/tests/client/test-client.py:test_004()/430 cmd: $NMCLI --mode tabular --pretty con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7048 bytes +stdout: 7090 bytes >>> ============================================ Szczegóły profilu połączenia (con-vpn-1) @@ -26650,9 +26692,9 @@ name id uuid stable-id type in ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -26678,12 +26720,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 5793 +size: 5835 location: src/tests/client/test-client.py:test_004()/431 cmd: $NMCLI --mode tabular --pretty -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 5627 bytes +stdout: 5669 bytes >>> ========================================== Connection profile details (con-vpn-1) @@ -26692,9 +26734,9 @@ name id uuid stable-id type in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -26710,12 +26752,12 @@ proxy none no -- -- <<< -size: 5840 +size: 5882 location: src/tests/client/test-client.py:test_004()/432 cmd: $NMCLI --mode tabular --pretty -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5664 bytes +stdout: 5706 bytes >>> ============================================ Szczegóły profilu połączenia (con-vpn-1) @@ -26724,9 +26766,9 @@ name id uuid stable-id type in ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -28818,12 +28860,12 @@ interface-name <<< -size: 7143 +size: 7185 location: src/tests/client/test-client.py:test_004()/477 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 6972 bytes +stdout: 7014 bytes >>> ========================================== Connection profile details (con-vpn-1) @@ -28832,9 +28874,9 @@ name id uuid stable-id type in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -28860,12 +28902,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 7229 +size: 7271 location: src/tests/client/test-client.py:test_004()/478 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7048 bytes +stdout: 7090 bytes >>> ============================================ Szczegóły profilu połączenia (con-vpn-1) @@ -28874,9 +28916,9 @@ name id uuid stable-id type in ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -28902,12 +28944,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 7143 +size: 7185 location: src/tests/client/test-client.py:test_004()/479 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 6972 bytes +stdout: 7014 bytes >>> ========================================== Connection profile details (con-vpn-1) @@ -28916,9 +28958,9 @@ name id uuid stable-id type in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -28944,12 +28986,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 - VPN connected key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 7229 +size: 7271 location: src/tests/client/test-client.py:test_004()/480 cmd: $NMCLI --mode tabular --pretty --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7048 bytes +stdout: 7090 bytes >>> ============================================ Szczegóły profilu połączenia (con-vpn-1) @@ -28958,9 +29000,9 @@ name id uuid stable-id type in ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -28986,12 +29028,12 @@ NAME TYPE USERNAME GATEWAY BANNER VPN-STATE VPN openvpn -- -- *** VPN connection con-vpn-1 *** 5 — Połączono z VPN key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 5805 +size: 5847 location: src/tests/client/test-client.py:test_004()/481 cmd: $NMCLI --mode tabular --pretty --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 5627 bytes +stdout: 5669 bytes >>> ========================================== Connection profile details (con-vpn-1) @@ -29000,9 +29042,9 @@ name id uuid stable-id type in ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- yes 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) unknown default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) no no -- -- -- 0 (default) yes -1 (default) -1 (default) -- -- 0x0 (none) no yes -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -29018,12 +29060,12 @@ proxy none no -- -- <<< -size: 5852 +size: 5894 location: src/tests/client/test-client.py:test_004()/482 cmd: $NMCLI --mode tabular --pretty --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5664 bytes +stdout: 5706 bytes >>> ============================================ Szczegóły profilu połączenia (con-vpn-1) @@ -29032,9 +29074,9 @@ name id uuid stable-id type in ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- connection con-vpn-1 UUID-con-vpn-1-REPLACED-REPLACED-REP -- vpn -- tak 0 -1 (default) 0 (default) -1 0 -- -- -- -- -- -- -1 (default) -1 (default) -1 (default) -- 0 0 -- -1 (default) nieznane default -1 (default) -1 (default) -1 (default) -1 (default) 0x0 (default) -1 -1 -name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) 0 (default) -- -1 (default) -- 0 (default) +name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns dhcp-client-id dhcp-iaid dhcp-dscp dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname forwarding dhcp-hostname dhcp-fqdn dhcp-hostname-flags never-default may-fail required-timeout dad-timeout dhcp-vendor-class-identifier dhcp-ipv6-only-preferred clat link-local dhcp-reject-servers auto-route-ext-gw shared-dhcp-range shared-dhcp-lease-time +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ipv4 auto -- -- -- 0 -- -- -- -1 0 (unspec) -- -1 (default) -1 (default) -1 (default) nie nie -- -- -- 0 (default) tak -1 (default) -1 (default) -- -- 0x0 (none) nie tak -1 (default) -1 (default) -- -1 (default) -1 (default) 0 (default) -- -1 (default) -- 0 (default) name method dns dns-search dns-options dns-priority addresses gateway routes route-metric route-table routing-rules replace-local-rule dhcp-send-release routed-dns ignore-auto-routes ignore-auto-dns never-default may-fail required-timeout ip6-privacy temp-valid-lifetime temp-preferred-lifetime addr-gen-mode ra-timeout mtu dhcp-pd-hint dhcp-duid dhcp-iaid dhcp-timeout dhcp-send-hostname-deprecated dhcp-send-hostname dhcp-hostname dhcp-hostname-flags auto-route-ext-gw token ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -31126,15 +31168,15 @@ interface-name <<< -size: 889 +size: 892 location: src/tests/client/test-client.py:test_004()/527 cmd: $NMCLI --mode tabular --terse con s con-vpn-1 lang: C returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -31142,15 +31184,15 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 899 +size: 902 location: src/tests/client/test-client.py:test_004()/528 cmd: $NMCLI --mode tabular --terse con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -31158,15 +31200,15 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 889 +size: 892 location: src/tests/client/test-client.py:test_004()/529 cmd: $NMCLI --mode tabular --terse con s con-vpn-1 lang: C returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -31174,15 +31216,15 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 899 +size: 902 location: src/tests/client/test-client.py:test_004()/530 cmd: $NMCLI --mode tabular --terse con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -31190,29 +31232,29 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 596 +size: 599 location: src/tests/client/test-client.py:test_004()/531 cmd: $NMCLI --mode tabular --terse -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 432 bytes +stdout: 435 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: <<< -size: 606 +size: 609 location: src/tests/client/test-client.py:test_004()/532 cmd: $NMCLI --mode tabular --terse -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 432 bytes +stdout: 435 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -32064,15 +32106,15 @@ UUID-con-xx1-REPLACED-REPLACED-REPLA <<< -size: 901 +size: 904 location: src/tests/client/test-client.py:test_004()/577 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -32080,15 +32122,15 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 911 +size: 914 location: src/tests/client/test-client.py:test_004()/578 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -32096,15 +32138,15 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 901 +size: 904 location: src/tests/client/test-client.py:test_004()/579 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -32112,15 +32154,15 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 911 +size: 914 location: src/tests/client/test-client.py:test_004()/580 cmd: $NMCLI --mode tabular --terse --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 732 bytes +stdout: 735 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -32128,29 +32170,29 @@ GENERAL:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP:wlan0:wlan0:activated:no: VPN:openvpn:::*** VPN connection con-vpn-1 ***:5 - VPN connected:key1 = val1 | key2 = val2 | key3 = val3 <<< -size: 608 +size: 611 location: src/tests/client/test-client.py:test_004()/581 cmd: $NMCLI --mode tabular --terse --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 432 bytes +stdout: 435 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: <<< -size: 618 +size: 621 location: src/tests/client/test-client.py:test_004()/582 cmd: $NMCLI --mode tabular --terse --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 432 bytes +stdout: 435 bytes >>> connection:con-vpn-1:UUID-con-vpn-1-REPLACED-REPLACED-REP::vpn::yes:0:-1:0:-1:0:::::::-1:-1:-1::0:0::-1:unknown:default:-1:-1:-1:-1:0x0:-1:-1 -ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:0::-1::0 +ipv4:auto::::0::::-1:0::-1:-1:-1:no:no::::0:yes:-1:-1:::0x0:no:yes:-1:-1::-1:-1:0::-1::0 ipv6:auto::::0::::-1:0::-1:-1:-1:no:no:no:yes:-1:-1:0:0:default:0:auto::::0:yes:-1::0x0:-1: vpn:org.freedesktop.NetworkManager.openvpn::key1 = val1, key2 = val2, key3 = val3::no:0 proxy:none:no:: @@ -33002,12 +33044,12 @@ UUID-con-xx1-REPLACED-REPLACED-REPLA <<< -size: 6780 +size: 6833 location: src/tests/client/test-client.py:test_004()/627 cmd: $NMCLI --mode multiline con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -33075,6 +33117,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -33148,12 +33191,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6817 +size: 6870 location: src/tests/client/test-client.py:test_004()/628 cmd: $NMCLI --mode multiline con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -33221,6 +33264,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -33294,12 +33338,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6780 +size: 6833 location: src/tests/client/test-client.py:test_004()/629 cmd: $NMCLI --mode multiline con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -33367,6 +33411,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -33440,12 +33485,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6817 +size: 6870 location: src/tests/client/test-client.py:test_004()/630 cmd: $NMCLI --mode multiline con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -33513,6 +33558,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -33586,12 +33632,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 5653 +size: 5706 location: src/tests/client/test-client.py:test_004()/631 cmd: $NMCLI --mode multiline -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 5494 bytes +stdout: 5547 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -33659,6 +33705,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -33711,12 +33758,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 5680 +size: 5733 location: src/tests/client/test-client.py:test_004()/632 cmd: $NMCLI --mode multiline -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5511 bytes +stdout: 5564 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -33784,6 +33831,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -37002,12 +37050,12 @@ connection.type: 802-11-wireless connection.interface-name: -- <<< -size: 6792 +size: 6845 location: src/tests/client/test-client.py:test_004()/677 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -37075,6 +37123,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -37148,12 +37197,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6829 +size: 6882 location: src/tests/client/test-client.py:test_004()/678 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -37221,6 +37270,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -37294,12 +37344,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6792 +size: 6845 location: src/tests/client/test-client.py:test_004()/679 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 6628 bytes +stdout: 6681 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -37367,6 +37417,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -37440,12 +37491,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 6829 +size: 6882 location: src/tests/client/test-client.py:test_004()/680 cmd: $NMCLI --mode multiline --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6655 bytes +stdout: 6708 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -37513,6 +37564,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -37586,12 +37638,12 @@ VPN.CFG[2]: key2 = val2 VPN.CFG[3]: key3 = val3 <<< -size: 5665 +size: 5718 location: src/tests/client/test-client.py:test_004()/681 cmd: $NMCLI --mode multiline --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 5494 bytes +stdout: 5547 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -37659,6 +37711,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -37711,12 +37764,12 @@ proxy.pac-url: -- proxy.pac-script: -- <<< -size: 5692 +size: 5745 location: src/tests/client/test-client.py:test_004()/682 cmd: $NMCLI --mode multiline --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 5511 bytes +stdout: 5564 bytes >>> connection.id: con-vpn-1 connection.uuid: UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -37784,6 +37837,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -41002,12 +41056,12 @@ connection.type: 802-11-wireless connection.interface-name: -- <<< -size: 7800 +size: 7853 location: src/tests/client/test-client.py:test_004()/727 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -41079,6 +41133,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -41161,12 +41216,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7850 +size: 7903 location: src/tests/client/test-client.py:test_004()/728 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -41238,6 +41293,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -41320,12 +41376,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7800 +size: 7853 location: src/tests/client/test-client.py:test_004()/729 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -41397,6 +41453,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -41479,12 +41536,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7850 +size: 7903 location: src/tests/client/test-client.py:test_004()/730 cmd: $NMCLI --mode multiline --pretty con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -41556,6 +41613,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -41638,12 +41696,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 6281 +size: 6334 location: src/tests/client/test-client.py:test_004()/731 cmd: $NMCLI --mode multiline --pretty -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 6113 bytes +stdout: 6166 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -41715,6 +41773,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -41771,12 +41830,12 @@ proxy.pac-script: -- ------------------------------------------------------------------------------- <<< -size: 6313 +size: 6366 location: src/tests/client/test-client.py:test_004()/732 cmd: $NMCLI --mode multiline --pretty -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6135 bytes +stdout: 6188 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -41848,6 +41907,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -45704,12 +45764,12 @@ connection.interface-name: -- ------------------------------------------------------------------------------- <<< -size: 7812 +size: 7865 location: src/tests/client/test-client.py:test_004()/777 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -45781,6 +45841,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -45863,12 +45924,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7862 +size: 7915 location: src/tests/client/test-client.py:test_004()/778 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -45940,6 +46001,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -46022,12 +46084,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7812 +size: 7865 location: src/tests/client/test-client.py:test_004()/779 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 7639 bytes +stdout: 7692 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -46099,6 +46161,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -46181,12 +46244,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 7862 +size: 7915 location: src/tests/client/test-client.py:test_004()/780 cmd: $NMCLI --mode multiline --pretty --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 7679 bytes +stdout: 7732 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -46258,6 +46321,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -46340,12 +46404,12 @@ VPN.CFG[3]: key3 = val3 ------------------------------------------------------------------------------- <<< -size: 6293 +size: 6346 location: src/tests/client/test-client.py:test_004()/781 cmd: $NMCLI --mode multiline --pretty --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 6113 bytes +stdout: 6166 bytes >>> =============================================================================== Connection profile details (con-vpn-1) @@ -46417,6 +46481,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -46473,12 +46538,12 @@ proxy.pac-script: -- ------------------------------------------------------------------------------- <<< -size: 6325 +size: 6378 location: src/tests/client/test-client.py:test_004()/782 cmd: $NMCLI --mode multiline --pretty --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 6135 bytes +stdout: 6188 bytes >>> =============================================================================== Szczegóły profilu połączenia (con-vpn-1) @@ -46550,6 +46615,7 @@ ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-ipv6-only-preferred: -1 (default) +ipv4.clat: -1 (default) ipv4.link-local: 0 (default) ipv4.dhcp-reject-servers: -- ipv4.auto-route-ext-gw: -1 (default) @@ -50406,12 +50472,12 @@ connection.interface-name: -- ------------------------------------------------------------------------------- <<< -size: 3466 +size: 3479 location: src/tests/client/test-client.py:test_004()/827 cmd: $NMCLI --mode multiline --terse con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -50479,6 +50545,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -50552,12 +50619,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3476 +size: 3489 location: src/tests/client/test-client.py:test_004()/828 cmd: $NMCLI --mode multiline --terse con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -50625,6 +50692,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -50698,12 +50766,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3466 +size: 3479 location: src/tests/client/test-client.py:test_004()/829 cmd: $NMCLI --mode multiline --terse con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -50771,6 +50839,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -50844,12 +50913,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3476 +size: 3489 location: src/tests/client/test-client.py:test_004()/830 cmd: $NMCLI --mode multiline --terse con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -50917,6 +50986,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -50990,12 +51060,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 2891 +size: 2904 location: src/tests/client/test-client.py:test_004()/831 cmd: $NMCLI --mode multiline --terse -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -51063,6 +51133,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -51115,12 +51186,12 @@ proxy.pac-url: proxy.pac-script: <<< -size: 2901 +size: 2914 location: src/tests/client/test-client.py:test_004()/832 cmd: $NMCLI --mode multiline --terse -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -51188,6 +51259,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -54406,12 +54478,12 @@ connection.type:802-11-wireless connection.interface-name: <<< -size: 3478 +size: 3491 location: src/tests/client/test-client.py:test_004()/877 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -54479,6 +54551,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -54552,12 +54625,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3488 +size: 3501 location: src/tests/client/test-client.py:test_004()/878 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -54625,6 +54698,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -54698,12 +54772,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3478 +size: 3491 location: src/tests/client/test-client.py:test_004()/879 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1 lang: C returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -54771,6 +54845,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -54844,12 +54919,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 3488 +size: 3501 location: src/tests/client/test-client.py:test_004()/880 cmd: $NMCLI --mode multiline --terse --color yes con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 3306 bytes +stdout: 3319 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -54917,6 +54992,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -54990,12 +55066,12 @@ VPN.CFG[2]:key2 = val2 VPN.CFG[3]:key3 = val3 <<< -size: 2903 +size: 2916 location: src/tests/client/test-client.py:test_004()/881 cmd: $NMCLI --mode multiline --terse --color yes -f ALL con s con-vpn-1 lang: C returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -55063,6 +55139,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1 @@ -55115,12 +55192,12 @@ proxy.pac-url: proxy.pac-script: <<< -size: 2913 +size: 2926 location: src/tests/client/test-client.py:test_004()/882 cmd: $NMCLI --mode multiline --terse --color yes -f ALL con s con-vpn-1 lang: pl_PL.UTF-8 returncode: 0 -stdout: 2724 bytes +stdout: 2737 bytes >>> connection.id:con-vpn-1 connection.uuid:UUID-con-vpn-1-REPLACED-REPLACED-REP @@ -55188,6 +55265,7 @@ ipv4.required-timeout:-1 ipv4.dad-timeout:-1 ipv4.dhcp-vendor-class-identifier: ipv4.dhcp-ipv6-only-preferred:-1 +ipv4.clat:-1 ipv4.link-local:0 ipv4.dhcp-reject-servers: ipv4.auto-route-ext-gw:-1