LinuxCommandLibrary

ip-netconf

Manage network configuration

TLDR

Show network configuration for all interfaces

$ ip [[netc|netconf]]
copy

Show network configuration for a specific interface
$ ip [[netc|netconf]] [[s|show]] dev [network_interface]
copy

Show only IPv4 network configuration
$ ip -4 [[netc|netconf]]
copy

Show only IPv6 network configuration
$ ip -6 [[netc|netconf]]
copy

SYNOPSIS

ip [-4|-6] netconf { show [NETNSID] | monitor [NETNSID-LIST] | get [dev DEV] [module MODULE] | set [dev DEV] [module MODULE] { on|off } }

PARAMETERS

show [NETNSID]
    List all enabled NETCONF modules for devices in the current or specified network namespace

monitor [NETNSID-LIST]
    Monitor NETCONF configuration changes; 'all' for all namespaces

get [dev DEV] [module MODULE]
    Print available (not-yet-enabled) NETCONF modules; filter by device or module

set [dev DEV] [module MODULE] {on|off}
    Enable or disable a NETCONF module on a specific device

-4
    Restrict to IPv4 address family

-6
    Restrict to IPv6 address family

dev DEV
    Network device name (e.g., eth0)

module MODULE
    YANG module name (e.g., iana-if-type)

DESCRIPTION

ip netconf is part of the iproute2 suite and controls the NETCONF (Network Configuration Protocol) subsystem in the Linux kernel. NETCONF enables programmatic management of network devices using XML-based data encoding and RPCs, often with YANG data models.

This command allows listing enabled NETCONF modules on devices, monitoring configuration changes, retrieving available YANG modules, and enabling/disabling modules on specific network interfaces. It supports network namespaces via NETNSID and operates separately for IPv4 (-4) and IPv6 (-6) address families.

Primarily used in network automation, SDN, and NFV environments for dynamic configuration without manual intervention. Requires kernel support (CONFIG_NETCONF) and CAP_NET_ADMIN privileges. It interacts with the kernel via netlink, providing a CLI interface to kernel NETCONF capabilities introduced in recent Linux kernels.

CAVEATS

Requires CAP_NET_ADMIN capability and kernel CONFIG_NETCONF=y. Not all modules are available without additional kernel modules. IPv4/IPv6 selectors apply only to get/set.

EXAMPLES

ip netconf show - list enabled modules
ip netconf get dev eth0 - available modules on eth0
ip netconf set dev lo module iana-hardware on - enable module

KERNEL REQUIREMENTS

Load modules like netconf, yang-netconf; check with lsmod | grep netconf

HISTORY

Introduced in Linux kernel 4.17 (2018) with iproute2 4.18; matured in kernel 4.19+ and iproute2 5.4+. Developed for kernel-based NETCONF server to support programmable networks.

SEE ALSO

ip(8), ss(8), netconf(7), rtnetlink(7)

Copied to clipboard