======= ifquery ======= ------------------------------------- query network interface configuration ------------------------------------- :Author: Roopa Prabhu :Date: 2014-02-05 :Copyright: Copyright 2014 Cumulus Networks, Inc. All rights reserved. :Version: 0.1 :Manual section: 8 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)** file **/etc/network/interfaces** unless an alternate interfaces file is provided with the **-i** option. 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 -i INTERFACESFILE, --interfaces INTERFACESFILE Use interfaces file instead of 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), ifdown(8), ifreload(8), interfaces(5), ifupdown-addons-interfaces(5)