ovsdb-idlc(1)

NAME
ovsdb-idlc - Open vSwitch IDL (Interface Definition Language) compiler

SYNOPSIS
ovsdb-idlc annotate schema annotations
ovsdb-idlc c-idl-header idl
ovsdb-idlc c-idl-source idl
ovsdb-idlc --help
ovsdb-idlc --version

DESCRIPTION
The ovsdb-idlc program is a command-line tool for translating Open vSwitch database interface definition language (IDL) schemas into other formats. It is used while building Open vSwitch, not at installation or configuration time. Thus, it is not normally installed as part of Open vSwitch.

The idl files used as input for most ovsdb-idlc commands have the same format as the OVSDB schemas, specified in the OVSDB specification, with a few additions:

"idlPrefix" member of <database-schema>
    This member, which is required, specifies a string that is prefixed to top-level names in C bindings. It should probably end in an underscore.

"idlHeader" member of <database-schema>
    This member, which is required, specifies the name of the IDL header. It will be output on an #include line in the source file generated by the C bindings. It should include the bracketing "" or <>.

  Commands

annotate schema annotations
    Reads schema, which should be a file in JSON format (ordinarily an OVSDB schema file), then reads and executes the Python syntax fragment in annotations. The Python syntax fragment is passed the JSON object as a local variable named s. It may modify this data in any way. After the Python code returns, the object as modified is re-serialized as JSON on standard output.

c-idl-header idl
    Reads idl and prints on standard output a C header file that defines a structure for each table defined by the schema.

c-idl-source idl
    Reads idl and prints on standard output a C source file that implements C bindings for the database defined by the schema.

doc idl
    Reads idl and prints on standard output a text file that documents the schema. The output may have very long lines, so it makes sense to pipe it through, e.g. fmt -s.

  Options

BUGS
ovsdb-idlc is more lenient about the format of OVSDB schemas than other OVSDB tools. It may successfully parse schemas that, e.g., ovsdb-tool rejects.

SEE ALSO
The OVSDB specification.