The first part of this series deals with guided option parser itself, fixing a bug in patch 1 and adding features in patches 2-4 in preparation for ebtables' guided option parser support enabled in patch 5. The remaining patches then convert ebtables extensions apart from the last one which significantly reduces parser code in libxt_HMARK.c using the new parser features. Phil Sutter (23): libxtables: xtoptions: Prevent XTOPT_PUT with XTTYPE_HOSTMASK libxtables: xtoptions: Support XTOPT_NBO with XTTYPE_UINT* libxtables: xtoptions: Implement XTTYPE_ETHERMACMASK libxtables: xtoptions: Treat NFPROTO_BRIDGE as IPv4 ebtables: Support for guided option parser extensions: libebt_*: Drop some needless init callbacks extensions: libebt_stp: Use guided option parser extensions: libebt_arpreply: Use guided option parser extensions: libebt_dnat: Use guided option parser extensions: libebt_ip6: Use guided option parser extensions: libebt_ip: Use guided option parser extensions: libebt_log: Use guided option parser extensions: libebt_mark: Use guided option parser extensions: libebt_nflog: Use guided option parser extensions: libebt_snat: Use guided option parser extensions: libebt_redirect: Use guided option parser extensions: libebt_802_3: Use guided option parser extensions: libebt_vlan: Use guided option parser extensions: libebt_arp: Use guided option parser extensions: libxt_limit: Use guided option parser for NFPROTO_BRIDGE, too extensions: libebt_pkttype: Use guided option parser extensions: libebt_mark_m: Use guided option parser extensions: libxt_HMARK: Review HMARK_parse() extensions/libebt_802_3.c | 83 +++--------- extensions/libebt_802_3.t | 2 + extensions/libebt_arp.c | 201 ++++++++++------------------- extensions/libebt_arp.t | 7 + extensions/libebt_arpreply.c | 52 +++----- extensions/libebt_arpreply.t | 4 + extensions/libebt_dnat.c | 64 ++++----- extensions/libebt_ip.c | 208 +++++++++++------------------ extensions/libebt_ip.t | 8 ++ extensions/libebt_ip6.c | 212 +++++++++++------------------- extensions/libebt_ip6.t | 8 ++ extensions/libebt_log.c | 121 +++++------------ extensions/libebt_mark.c | 140 ++++++++------------ extensions/libebt_mark_m.c | 69 ++++------ extensions/libebt_nflog.c | 82 +++--------- extensions/libebt_pkttype.c | 45 +++---- extensions/libebt_redirect.c | 40 +++--- extensions/libebt_snat.c | 74 +++++------ extensions/libebt_snat.t | 2 + extensions/libebt_stp.c | 244 ++++++++++++----------------------- extensions/libebt_stp.t | 16 +++ extensions/libebt_vlan.c | 102 +++++---------- extensions/libxt_HMARK.c | 60 ++------- extensions/libxt_limit.c | 50 +------ include/xtables.h | 8 +- iptables/xtables-eb.c | 108 ++++++++-------- libxtables/xtoptions.c | 52 ++++++-- 27 files changed, 757 insertions(+), 1305 deletions(-) -- 2.43.0