nat: static mappings in flow hash 77/34077/5
authorKlement Sekera <ksekera@cisco.com>
Wed, 26 May 2021 11:02:35 +0000 (13:02 +0200)
committerKlement Sekera <ksekera@cisco.com>
Thu, 14 Oct 2021 12:12:26 +0000 (14:12 +0200)
commitff334db797c9cede308367ef1c27bd8dfce0baf4
tree1c3cf1db09b25f6a4f0c01a3ad369abe66a8bd1f
parent4450b03ba2a69a9e8194c7054dac2c8c19d372cd
nat: static mappings in flow hash

Put static mappings in flow hash, drop existing hash tables used for
static mappings. Drop refcount variables and use hash table as a single
point of truth. Allow creating a static mapping conflicting with dynamic
mapping, which will take precedence after dynamic mapping is freed, so
that the existing flow can finish transferring data.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Idfde8efabc09971be38921d4b0ca5ccf4e9fe412
31 files changed:
src/plugins/nat/det44/det44.h
src/plugins/nat/lib/alloc.h
src/plugins/nat/lib/inlines.h
src/plugins/nat/lib/ipfix_logging.c
src/plugins/nat/lib/ipfix_logging.h
src/plugins/nat/lib/lib.c
src/plugins/nat/lib/lib.h
src/plugins/nat/lib/nat_proto.h [new file with mode: 0644]
src/plugins/nat/lib/nat_syslog.c
src/plugins/nat/lib/nat_syslog.h
src/plugins/nat/lib/nat_syslog_constants.h [new file with mode: 0644]
src/plugins/nat/nat44-ed/nat44_ed.c
src/plugins/nat/nat44-ed/nat44_ed.h
src/plugins/nat/nat44-ed/nat44_ed_affinity.c
src/plugins/nat/nat44-ed/nat44_ed_api.c
src/plugins/nat/nat44-ed/nat44_ed_classify.c
src/plugins/nat/nat44-ed/nat44_ed_cli.c
src/plugins/nat/nat44-ed/nat44_ed_format.c
src/plugins/nat/nat44-ed/nat44_ed_in2out.c
src/plugins/nat/nat44-ed/nat44_ed_inlines.h
src/plugins/nat/nat44-ed/nat44_ed_out2in.c
src/plugins/nat/nat44-ei/nat44_ei.c
src/plugins/nat/nat44-ei/nat44_ei.h
src/plugins/nat/nat44-ei/nat44_ei_in2out.c
src/plugins/nat/nat44-ei/nat44_ei_inlines.h
src/plugins/nat/nat44-ei/nat44_ei_out2in.c
src/plugins/nat/nat64/nat64_db.h
test/framework.py
test/test_nat44_ed.py
test/test_nat44_ed_output.py [new file with mode: 0644]
test/test_nat44_ei.py