ifquery8
Query network interface configuration
Usage
ifquery {[-v]
[--allow
CLASS]
[--with-depends]
-a | IFACE ...}
ifquery {[-v]
[{-r | --running}]
[--allow
CLASS]
[--with-depends]
-a | IFACE ...}
ifquery {[-v]
[{-c | --check}]
[--allow
CLASS]
[--with-depends]
-a | IFACE ...}
ifquery {[-v]
[{-p | --print-dependency
list,dot}]
[--allow
CLASS]
[--with-depends]
-a | IFACE ...}
ifquery {[-v]
-s | --syntax-help}
Overview
ifquery can be used to parse interface configuration file, query running state or check running state of the interface with configuration in /etc/network/interfaces file.
ifquery always works on the current interfaces(5) file /etc/network/interfaces unless an alternate interfaces file is defined in ifupdown2.conf or provided with the -i option. Note: the -i option is enabled by default in ifupdown2.conf.
Options
positional arguments:
IFACE interface list separated by spaces. IFACE list and '-a' argument are mutually exclusive.
optional arguments:
-
-h, --help -
show this help message and exit
-
-a, --all -
process all interfaces marked "auto"
-
-v, --verbose -
verbose
-
-d, --debug -
output debug info
--allowCLASS-
ignore non-"allow-CLASS" interfaces
-
-w, --with-depends -
run with all dependent interfaces. This option is redundant when -a is specified. When '-a' is specified, interfaces are always executed in dependency order.
-XEXCLUDEPATS, --exclude EXCLUDEPATS-
Exclude interfaces from the list of interfaces to operate on. Can be specified multiple times If the excluded interface has dependent interfaces, (e.g. a bridge or a bond with multiple enslaved interfaces) then each dependent interface must be specified in order to be excluded.
-iINTERFACESFILE, --interfaces INTERFACESFILE-
Use interfaces file instead of default defined in ifupdown2.conf (default /etc/network/interfaces)
-
-t {native,json}, --interfaces-format {native,json} -
interfaces file format
-
-r, --running -
print raw interfaces file entries
-
-c, --check -
check interface file contents against running state of an interface. Returns exit code 0 on success and 1 on error
-
-x, --raw -
print raw config file entries
-
-o {native,json}, --format {native,json} -
interface display format
-
-p, --print-dependency {list,dot} -
print iface dependency in list or dot format
-
-s, --syntax-help -
print supported interface config syntax. Scans all addon modules and dumps supported syntax from them if provided by the module.
Examples
# dump all or some interfaces config file entries # (pretty prints user provided entries)
ifquery -a
ifquery br0
# Same as above but dump with dependencies
ifquery br0 --with-depends
# Check running state with the config in /etc/network/interfaces
ifquery --check br0
ifquery --check --with-depends br0
ifquery --check -a
# dump running state of all interfaces in /etc/network/interfaces format
ifquery --running br0
ifquery --running --with-depends br0
ifquery --running -a
# print dependency info in list format
ifquery --print-dependency=list -a
ifquery --print-dependency=list br2000
# print dependency info in dot format
ifquery --print-dependency=dot -a
ifquery --print-dependency=dot br2000
# Create an image (png) from the dot format
ifquery --print-dependency=dot -a > interfaces.dot
dot -Tpng interfaces.dot > interfaces.png
(The above command only works on a system with dot installed)
Known_issues
ifquery --check is currently experimental
ifquery --check cannot validate usercommands given under pre-up, post-up etc There is currently no support to check/validate ethtool iface attributes
Releases
7 releases since Debian 7 (Wheezy); the text changed 6 times.
--check since Debian 11 (Bullseye);
--debug since Debian 11 (Bullseye);
--format since Debian 11 (Bullseye);
--interfaces-format since Debian 11 (Bullseye);
--print-dependency since Debian 11 (Bullseye);
--raw since Debian 11 (Bullseye);
--running since Debian 11 (Bullseye);
--syntax-help since Debian 11 (Bullseye);
--with-depends since Debian 11 (Bullseye);
-c since Debian 11 (Bullseye);
-d since Debian 11 (Bullseye);
-o since Debian 11 (Bullseye);
-p since Debian 11 (Bullseye);
-r since Debian 11 (Bullseye);
-s since Debian 11 (Bullseye);
-t since Debian 11 (Bullseye);
-w since Debian 11 (Bullseye);
-x since Debian 11 (Bullseye).
--allow until Debian 10 (Buster);
--force until Debian 10 (Buster);
--ignore-errors until Debian 10 (Buster);
--interfaces until Debian 10 (Buster);
--list until Debian 10 (Buster);
--no-act until Debian 10 (Buster);
--no-loopback until Debian 10 (Buster);
--no-mappings until Debian 10 (Buster);
--no-scripts until Debian 10 (Buster);
--state until Debian 10 (Buster);
--state-dir until Debian 10 (Buster);
--version until Debian 10 (Buster);
-V until Debian 10 (Buster);
-i until Debian 10 (Buster);
-l until Debian 10 (Buster);
-n until Debian 10 (Buster).