mirror of
https://github.com/kernelkit/infix.git
synced 2026-08-06 23:43:20 +02:00
confd: drop 'enabled' node from IPv4 autoconf container
Neither the IPv6 autonconf container, nor the recently moved DHCP client container have an 'enabled' flag. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
@@ -169,14 +169,20 @@ if [ -n "$bridge" ]; then
|
||||
"name": "$bridge",
|
||||
"type": "infix-if-type:bridge",
|
||||
"ietf-ip:ipv4": {
|
||||
"infix-ip:autoconf": {
|
||||
"enabled": $ipv4
|
||||
}
|
||||
EOF
|
||||
if [ "$dhcp" = "true" ]; then
|
||||
if [ "$ipv4" = "true" ]; then
|
||||
cat <<EOF
|
||||
"infix-ip:autoconf": {}
|
||||
EOF
|
||||
if [ "$dhcp" = "true" ]; then
|
||||
cat <<EOF
|
||||
,
|
||||
"infix-dhcp-client:dhcp": {}
|
||||
EOF
|
||||
fi
|
||||
elif [ "$dhcp" = "true" ]; then
|
||||
cat <<EOF
|
||||
"infix-dhcp-client:dhcp": {}
|
||||
EOF
|
||||
fi
|
||||
cat <<EOF
|
||||
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
# Migrate IPv4 autoconf from enabled leaf to presence container
|
||||
# Remove the "enabled" leaf, keeping the container only if it was enabled
|
||||
|
||||
file=$1
|
||||
temp=${file}.tmp
|
||||
|
||||
jq '
|
||||
if .["ietf-interfaces:interfaces"] then
|
||||
.["ietf-interfaces:interfaces"].interface |= map(
|
||||
if .["ietf-ip:ipv4"]?."infix-ip:autoconf" then
|
||||
if .["ietf-ip:ipv4"]."infix-ip:autoconf".enabled == false then
|
||||
# Remove autoconf container if it was disabled
|
||||
.["ietf-ip:ipv4"] |= del(."infix-ip:autoconf")
|
||||
else
|
||||
# Keep autoconf but remove the enabled leaf
|
||||
.["ietf-ip:ipv4"]."infix-ip:autoconf" |= del(.enabled)
|
||||
end
|
||||
else
|
||||
.
|
||||
end
|
||||
)
|
||||
else
|
||||
.
|
||||
end
|
||||
' "$file" > "$temp" && mv "$temp" "$file"
|
||||
@@ -1,2 +1,3 @@
|
||||
migratedir = $(pkgdatadir)/migrate/1.6
|
||||
dist_migrate_DATA = 10-dhcp-client-to-ipv4.sh
|
||||
dist_migrate_DATA = 10-dhcp-client-to-ipv4.sh \
|
||||
20-autoconf-to-presence.sh
|
||||
|
||||
@@ -94,7 +94,7 @@ int netdag_gen_ipv4_autoconf(struct dagger *net, struct lyd_node *cif,
|
||||
* for various reasons: was bridge port, ipv4 was disabled...
|
||||
*/
|
||||
zcip = lydx_get_child(ipconf, "autoconf");
|
||||
if (zcip && lydx_is_enabled(zcip, "enabled")) {
|
||||
if (zcip) {
|
||||
struct lyd_node *node;
|
||||
const char *addr;
|
||||
int diff = 0;
|
||||
@@ -105,9 +105,8 @@ int netdag_gen_ipv4_autoconf(struct dagger *net, struct lyd_node *cif,
|
||||
if (node) {
|
||||
const struct lyd_node *tmp;
|
||||
|
||||
tmp = lydx_get_child(node, "enabled");
|
||||
if (tmp)
|
||||
diff++;
|
||||
/* presence container created or deleted */
|
||||
diff++;
|
||||
tmp = lydx_get_child(node, "request-address");
|
||||
if (tmp)
|
||||
diff++;
|
||||
|
||||
@@ -20,7 +20,7 @@ MODULES=(
|
||||
"ietf-hardware@2018-03-13.yang -e hardware-state -e hardware-sensor"
|
||||
"infix-hardware@2025-10-30.yang"
|
||||
"ieee802-dot1q-types@2022-10-29.yang"
|
||||
"infix-ip@2024-09-16.yang"
|
||||
"infix-ip@2025-11-02.yang"
|
||||
"infix-if-type@2025-02-12.yang"
|
||||
"infix-routing@2024-11-27.yang"
|
||||
"ieee802-dot1ab-lldp@2022-03-15.yang"
|
||||
|
||||
@@ -18,6 +18,10 @@ module infix-ip {
|
||||
|
||||
description "This module augments ietf-ip with Infix extensions and deviations.";
|
||||
|
||||
revision 2025-11-02 {
|
||||
description "Change autoconf to presence container, removing enabled leaf.";
|
||||
reference "Internal, issue #1109.";
|
||||
}
|
||||
revision 2024-09-16 {
|
||||
description "Add support for IPv4LL request-address.";
|
||||
reference "Internal.";
|
||||
@@ -36,14 +40,10 @@ module infix-ip {
|
||||
*/
|
||||
augment "/if:interfaces/if:interface/ip:ipv4" {
|
||||
container autoconf {
|
||||
presence "Enable IPv4 link-local address autoconfiguration for this interface.";
|
||||
description "Parameters to control the autoconfiguration of IPv4 address.";
|
||||
reference "RFC 3927: Dynamic Configuration of IPv4 Link-Local Addresses";
|
||||
|
||||
leaf enabled {
|
||||
description "Use a ZeroConf/IPv4LL agent to retrieve an 169.254/16 address.";
|
||||
type boolean;
|
||||
}
|
||||
|
||||
leaf request-address {
|
||||
description "Try to acquire the specified IP address, if available.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user