diff options
author | Klement Sekera <ksekera@cisco.com> | 2020-05-11 08:58:05 +0000 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2020-05-13 11:36:42 +0000 |
commit | bc752e432ff3e252f6e1a3f0372c9532f14909cd (patch) | |
tree | 5399347c1e469d21529a0bc20ffd2d0783434e40 /src/plugins/nat/lib/lib.h | |
parent | 1d61c2194d21df2003ff07ff5feae4130de6277e (diff) |
nat: perf improvement - replace branchy code
Use a lookup table instead.
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ia8461099828bb8824bf016201f135e6b69c444d1
Diffstat (limited to 'src/plugins/nat/lib/lib.h')
-rw-r--r-- | src/plugins/nat/lib/lib.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/plugins/nat/lib/lib.h b/src/plugins/nat/lib/lib.h index 005db81b4a3..bd1c43338e6 100644 --- a/src/plugins/nat/lib/lib.h +++ b/src/plugins/nat/lib/lib.h @@ -19,16 +19,11 @@ #ifndef included_nat_lib_h__ #define included_nat_lib_h__ -#define foreach_nat_error \ - _(VALUE_EXIST, -1, "Value already exists") \ - _(NO_SUCH_ENTRY, -2, "No such entry") \ - _(UNKNOWN_PROTOCOL, -3, "Unknown protocol") \ - _(OUT_OF_TRANSLATIONS, -4, "Out of translations") - -#define foreach_nat_protocol \ - _(UDP, 0, udp, "udp") \ - _(TCP, 1, tcp, "tcp") \ - _(ICMP, 2, icmp, "icmp") +#define foreach_nat_error \ + _ (VALUE_EXIST, -1, "Value already exists") \ + _ (NO_SUCH_ENTRY, -2, "No such entry") \ + _ (UNKNOWN_PROTOCOL, -3, "Unknown protocol") \ + _ (OUT_OF_TRANSLATIONS, -4, "Out of translations") typedef enum { @@ -37,6 +32,12 @@ typedef enum #undef _ } nat_error_t; +#define foreach_nat_protocol \ + _ (OTHER, 0, other, "other") \ + _ (UDP, 1, udp, "udp") \ + _ (TCP, 2, tcp, "tcp") \ + _ (ICMP, 3, icmp, "icmp") + typedef enum { #define _(N, i, n, s) NAT_PROTOCOL_##N = i, |