---
name: "ifquery"
section: "8"
platform: "linux"
package: "ifupdown2"
version: "3.0.0-1.3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ifquery"
---

# ifquery(8)

query network interface configuration

## NAME

ifquery - query network interface configuration

## SYNOPSIS

**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**

## DESCRIPTION

**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)](/interfaces/5.md)** 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

- **--allow** *CLASS*

  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.

- **-X** *EXCLUDEPATS,* **--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.

- **-i** *INTERFACESFILE,* **--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

## SEE ALSO

[ifup(8)](/ifup/8.md), [ifdown(8)](/ifdown/8.md), [ifreload(8)](/ifreload/8.md), [interfaces(5)](/interfaces/5.md), [ifupdown-addons-interfaces(5)](/ifupdown-addons-interfaces/5.md)

## AUTHOR

Roopa Prabhu \<roopa@cumulusnetworks.com\>

## COPYRIGHT

Copyright 2014 Cumulus Networks, Inc.  All rights reserved.
