Add support for generating cmdline lib code to just match IPv4 addresses or IPv6 addresses, rather than IP addresses in general.
Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- buildtools/dpdk-cmdline-gen.py | 12 ++++++++++++ doc/guides/prog_guide/cmdline.rst | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/buildtools/dpdk-cmdline-gen.py b/buildtools/dpdk-cmdline-gen.py index 8b4f22ca24..7dadded783 100755 --- a/buildtools/dpdk-cmdline-gen.py +++ b/buildtools/dpdk-cmdline-gen.py @@ -81,6 +81,18 @@ def process_command(lineno, tokens, comment): f"static cmdline_parse_token_ipaddr_t cmd_{name}_{t_name}_tok =\n" f"\tTOKEN_IPADDR_INITIALIZER(struct cmd_{name}_result, {t_name});" ) + elif t_type in ["IPV4", "IPv4", "IPV4_ADDR"]: + result_struct.append(f"\tcmdline_ipaddr_t {t_name};") + initializers.append( + f"static cmdline_parse_token_ipaddr_t cmd_{name}_{t_name}_tok =\n" + f"\tTOKEN_IPV4_INITIALIZER(struct cmd_{name}_result, {t_name});" + ) + elif t_type in ["IPV6", "IPv6", "IPV6_ADDR"]: + result_struct.append(f"\tcmdline_ipaddr_t {t_name};") + initializers.append( + f"static cmdline_parse_token_ipaddr_t cmd_{name}_{t_name}_tok =\n" + f"\tTOKEN_IPV6_INITIALIZER(struct cmd_{name}_result, {t_name});" + ) elif t_type.startswith("(") and t_type.endswith(")"): result_struct.append(f"\tcmdline_fixed_string_t {t_name};") t_val = f'"{t_type[1:-1].replace(",","#")}"' diff --git a/doc/guides/prog_guide/cmdline.rst b/doc/guides/prog_guide/cmdline.rst index fc32d727dc..f62f17f1aa 100644 --- a/doc/guides/prog_guide/cmdline.rst +++ b/doc/guides/prog_guide/cmdline.rst @@ -70,6 +70,10 @@ The format of the list file must be: * ``<IP>src_ip`` + * ``<IPv4>dst_ip4`` + + * ``<IPv6>dst_ip6`` + * Variable fields, which take their values from a list of options, have the comma-separated option list placed in braces, rather than a the type name. For example, -- 2.40.1