plotnetcfg-json(5)
π plotnetcfg-json β bestie's guide to the JSON output format π
okay so this is the plotnetcfg-json(5) page, aka File Formats Manual energy, and it's literally just the rundown of what plotnetcfg spits out when it gives you JSON. no cap, it's a whole structured vibe. let's get into it π¦
β¨ NAME β¨
plotnetcfg β the json output format. that's it. that's the name section. short queen behavior π
πΈ DESCRIPTION πΈ
π Root object fields
the top-level glow-up. these are the fields chilling at the root of the whole document.
format(number) β currently1. it gets bumped up if incompatible changes get introduced. any tool parsing this json output should refuse any format it's not aware of β like, do not just rawdog an unknown format, bestie π. but heads up: adding new fields is not considered an incompatible change, so new fields can just show up.version(string) β the plotnetcfg version. cute.date(string) β the time and date when the data were gathered, formatted inctime(3)style.namespaces(array) β array of name space objects. the first one is always the root name space. periodt.
π§ Name space object fields
name(string) β the name of the name space, suitable for user consumption. and like, in general this cannot be used for machine consumption β e.g. for switching to the name space. the root name space has an empty name. it's giving "for your eyes only" πinterfaces(array) β array of interface objects.warnings(array) β if present, an array of strings. contains error messages encountered when gathering data in the given name space. π
π Interface object fields
id(string) β unique identifier of the interface. this is an arbitrary opaque string and the consumer should not make any assumption about its contents (apart from it not containing null characters). it should not be displayed to the user β the sole purpose of this field is linking to other interfaces. it's globally unique, so it's safe to assume that interfaces with the same name in different name spaces have a differentid. iconic, actually.name(string) β user visible name of the interface. usually (but not always) the name of the corresponding Linux interface. this is not unique between name spaces. so yeah, same name, different space, still valid π«Άdriver(string) β the kernel module (driver) behind the interface. may be empty in some specific cases.info(array) β array of strings. contains additional information about the interface, formatted. an example is tunnel endpoints. the exact content is dependent on the type of the interface.addresses(array) β array of address objects.mtu(number) β interface MTU.type(string):"device": normal interface. most interfaces are of this type."internal": this interface is not backed up by a Linux interface. can be often found with Open vSwitch.- further types are possible with future plotnetcfg versions. adding them will not be considered a format change. π₯
state(string):"down": the interface is administratively disabled."up": the interface is up and operating."up_no_link": the interface is up but has no link."none": state cannot be determined or is not applicable to this kind of interface.- more states are possible to be added in future plotnetcfg versions. adding them will not be considered a format change.
warning(bool) β there was a problem gathering data about this interface. details are in the name spacewarningsfield. the purpose of this flag is for visual representation of this interface as not having complete data available. not present if there was no error. πparent(object) β the parent interface, as a connection object. not present if there's no parent.children(array) β array of children interfaces, as connection objects. not present if there are no children.peer(object) β the peer interface, as a connection object. not present if there's no peer.
π Connection object fields
info(array) β array of strings. contains additional information about the connection between the two interfaces, formatted. may be an empty array. (yes, empty is valid, don't panic β¨)target(string) β id of the interface that is being linked to.
β Address object fields
family(string) β currently only"INET"or"INET6". more types will be added in the future (without considering it a format change).address(string) β address formatted for user consumption. may include net mask. this field should be generally machine parseable. best of both worlds, honestly πpeer(object) β if present, the peer address corresponding to this address. it's of the address object type but cannot contain a furtherpeerfield. no infinite recursion here, we're not doing that π βοΈ
π SEE ALSO π
π AUTHOR π
plotnetcfg was written and is maintained by Jiri Benc <jbenc@redhat.com>. thank you for your service, king π«‘
and that's the whole page, bestie!! this was plotnetcfg-json(5), dated 10 June 2015, and it lives in the File Formats Manual π go forth and parse responsibly β¨
π¦ where this page comes from
- debian bookworm: plotnetcfg 0.4.1-5 Β· GPL-2.0-or-later
- debian trixie: plotnetcfg 0.4.1-5 Β· GPL-2.0-or-later
- ubuntu jammy: plotnetcfg 0.4.1-5 Β· GPL-2.0-or-later
- ubuntu noble: plotnetcfg 0.4.1-5 Β· GPL-2.0-or-later
- ubuntu resolute: plotnetcfg 0.4.1-5build1 Β· GPL-2.0-or-later
- ubuntu stonking: plotnetcfg 0.4.1-5build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms