5 -------------------------------------
6 query network interface configuration
7 -------------------------------------
9 :Author: Roopa Prabhu <roopa@cumulusnetworks.com>
11 :Copyright: Copyright 2014 Cumulus Networks, Inc. All rights reserved.
18 **ifquery [-v] [--allow CLASS] [--with-depends] -a|IFACE...**
20 **ifquery [-v] [-r|--running] [--allow CLASS] [--with-depends] -a|IFACE...**
22 **ifquery [-v] [-c|--check] [--allow CLASS] [--with-depends] -a|IFACE...**
24 **ifquery [-v] [-p|--print-dependency {list,dot}] [--allow CLASS] [--with-depends] -a|IFACE...**
26 **ifquery [-v] -s|--syntax-help**
30 **ifquery** can be used to parse interface configuration file, query
31 running state or check running state of the interface with configuration
32 in **/etc/network/interfaces** file.
34 **ifquery** always works on the current **interfaces(5)** file
35 **/etc/network/interfaces** unless an alternate interfaces file is
36 defined in ifupdown2.conf or provided with the **-i** option.
37 Note: the -i option is enabled by default in ifupdown2.conf.
43 **IFACE** interface list separated by spaces. **IFACE** list and **'-a'** argument are mutually exclusive.
47 -h, --help show this help message and exit
49 -a, --all process all interfaces marked "auto"
53 -d, --debug output debug info
54 --allow CLASS ignore non-"allow-CLASS" interfaces
56 -w, --with-depends run with all dependent interfaces. This option
57 is redundant when -a is specified. When '-a' is
58 specified, interfaces are always executed in
61 -X EXCLUDEPATS, --exclude EXCLUDEPATS
62 Exclude interfaces from the list of interfaces to
63 operate on. Can be specified multiple times
64 If the excluded interface has dependent interfaces,
65 (e.g. a bridge or a bond with multiple enslaved interfaces)
66 then each dependent interface must be specified in order
69 -i INTERFACESFILE, --interfaces INTERFACESFILE
70 Use interfaces file instead of default
71 defined in ifupdown2.conf (default /etc/network/interfaces)
73 -t {native,json}, --interfaces-format {native,json}
74 interfaces file format
76 -r, --running print raw interfaces file entries
78 -c, --check check interface file contents against running state
79 of an interface. Returns exit code 0 on success and
82 -x, --raw print raw config file entries
84 -o {native,json}, --format {native,json}
85 interface display format
87 -p, --print-dependency {list,dot}
88 print iface dependency in list or dot format
90 -s, --syntax-help print supported interface config syntax. Scans all
91 addon modules and dumps supported syntax from them
92 if provided by the module.
96 # dump all or some interfaces config file entries
97 # (pretty prints user provided entries)
103 # Same as above but dump with dependencies
105 **ifquery br0 --with-depends**
107 # Check running state with the config in /etc/network/interfaces
109 **ifquery --check br0**
111 **ifquery --check --with-depends br0**
113 **ifquery --check -a**
115 # dump running state of all interfaces in /etc/network/interfaces format
117 **ifquery --running br0**
119 **ifquery --running --with-depends br0**
121 **ifquery --running -a**
123 # print dependency info in list format
125 **ifquery --print-dependency=list -a**
127 **ifquery --print-dependency=list br2000**
129 # print dependency info in dot format
131 **ifquery --print-dependency=dot -a**
133 **ifquery --print-dependency=dot br2000**
135 # Create an image (png) from the dot format
137 **ifquery --print-dependency=dot -a > interfaces.dot**
139 **dot -Tpng interfaces.dot > interfaces.png**
141 (The above command only works on a system with dot installed)
145 **ifquery --check** is currently experimental
147 **ifquery --check** cannot validate usercommands given under pre-up, post-up etc
148 There is currently no support to check/validate ethtool iface attributes
156 ifupdown-addons-interfaces(5)