Filip Varga
53cee1579e
nat: nat44-ei hairpinning code cleanup
...
Removing obsolete unused nat44-ei nodes and functions.
Type: refactor
Change-Id: I1e03e283091c3c0d92908d04037cba00a348351a
Signed-off-by: Filip Varga <fivarga@cisco.com >
2022-02-01 12:09:17 +00:00
Ole Troan
9432340362
tests: make code coverage for unit tests optional
...
Add a new cmake option VPP_BUILD_TESTS_WITH_COVERAGE to enable
building unittests with clang code coverage.
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com >
Change-Id: I9cbe9e3031afdcd03bc8f9203d662b91677724ab
Signed-off-by: Ole Troan <ot@cisco.com >
2021-11-11 19:33:37 +01:00
Andrew Yourtchenko
ab3151c52e
nat: pnat copy and clear byte instructions
...
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com >
Change-Id: I8e48bdcc4c311717e067bb0a4e0b409a2eb8e83d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com >
Signed-off-by: Ole Troan <ot@cisco.com >
2021-03-15 17:53:05 +00:00
Filip Varga
0eaf4e6784
nat: Final NAT44 EI/ED split patch
...
This patch achieves complete separation of
endpoint-dependent and endpoint-independent IPv4 NAT
features. Some common stuff is also moved to NAT
library.
Type: refactor
Change-Id: I52468b7e2b5ac28958a2baf8e2ea01787322e801
Signed-off-by: Filip Varga <fivarga@cisco.com >
2021-02-24 19:25:25 +00:00
Ole Troan
7d527a2292
misc: support api generated dependency for multiarch source
...
Fix dependency issues where multi-arch file is using API generated file.
Type: improvement
Change-Id: I5d4af7a630529bc138c35841723e38938f36d963
Signed-off-by: Ole Troan <ot@cisco.com >
2021-02-08 11:41:12 +00:00
Ole Troan
18327be5d4
nat: 1:1 policy NAT
...
A NAT sub-plugin doing statically configured match/rewrite on IP4 input or output.
It's stateless (no connection tracking).
Currently it supports rewriting of SA, DA and TCP/UDP ports.
It should be simple to add new rewrites if required.
API:
pnat_binding_add, pnat_binding_del, pnat_bindings_get, pnat_interfaces_get
CLI:
set pnat translation interface <name> match <5-tuple> rewrite <5-tuple> {in|out} [del]
show pnat translations
show pnat interfaces
Trying a new C based unit testing scheme. Where the graph node is tested
in isolation. See pnat/pnat_test.c.
Also added new cmake targets to generate coverage directly.
E.g.:
make test_pnat-ccov-report
File '/vpp/sdnat/src/plugins/nat/pnat/pnat.c':
Name Regions Miss Cover Lines Miss Cover
------------------------------------------------------------------------------------
pnat_interface_by_sw_if_index 39 8 79.49% 13 0 100.00%
pnat_instructions_from_mask 9 0 100.00% 13 0 100.00%
pnat_binding_add 64 8 87.50% 31 2 93.55%
pnat_flow_lookup 4 4 0.00% 10 10 0.00%
pnat_binding_attach 104 75 27.88% 33 6 81.82%
pnat_binding_detach 30 5 83.33% 23 2 91.30%
pnat_binding_del 97 33 65.98% 17 3 82.35%
pnat.c:pnat_calc_key_from_5tuple 9 1 88.89% 14 1 92.86%
pnat.c:pnat_interface_check_mask 10 2 80.00% 11 2 81.82%
pnat.c:pnat_enable 5 0 100.00% 11 0 100.00%
pnat.c:pnat_enable_interface 107 26 75.70% 60 15 75.00%
pnat.c:pnat_disable_interface 91 30 67.03% 32 7 78.12%
pnat.c:pnat_disable 7 2 71.43% 13 7 46.15%
------------------------------------------------------------------------------------
TOTAL 576 194 66.32% 281 55 80.43%
File '/vpp/sdnat/src/plugins/nat/pnat/pnat_node.h':
Name Regions Miss Cover Lines Miss Cover
------------------------------------------------------------------------------------
pnat_test.c:pnat_node_inline 67 11 83.58% 115 1 99.13%
pnat_test.c:pnat_calc_key 9 2 77.78% 14 2 85.71%
pnat_test.c:pnat_rewrite_ip4 55 11 80.00% 60 12 80.00%
pnat_test.c:format_pnat_trace 1 1 0.00% 12 12 0.00%
pnat_node.c:pnat_node_inline 63 63 0.00% 115 115 0.00%
pnat_node.c:pnat_calc_key 9 9 0.00% 14 14 0.00%
pnat_node.c:pnat_rewrite_ip4 55 55 0.00% 60 60 0.00%
pnat_node.c:format_pnat_trace 5 5 0.00% 12 12 0.00%
------------------------------------------------------------------------------------
TOTAL 264 157 40.53% 402 228 43.28%
Type: feature
Change-Id: I9c897f833603054a8303e7369ebff6512517c9e0
Signed-off-by: Ole Troan <ot@cisco.com >
2021-02-05 13:27:48 +00:00
Filip Varga
a210798c40
nat: refactor and split fo EI/ED features
...
This patch is aimed at moving EI features out of NAT44
plugin & split of EI/ED functions.
Type: refactor
Change-Id: I63cf70a264ed2512708fe92665d64f04690783d0
Signed-off-by: Filip Varga <fivarga@cisco.com >
2021-01-05 14:09:39 +00:00
Filip Varga
25fd8ad03e
nat: cleanup & reorganization
...
Fixed compatibility issue between
nat ei and nat ed modes. Moved nat
syslogging to nat librarry. Deprecating
apis that will be integrated in upcoming
candidate configuration patch.
Type: refactor
Change-Id: I334b1b05b81b74667c5c76a05f768442e0dcf7e8
Signed-off-by: Filip Varga <fivarga@cisco.com >
2020-11-13 15:45:23 +00:00
Filip Varga
b227aa699f
nat: api,cli and test update & cleanup
...
Cleanup of print functions in api file,
splitting functionality of cleanup callbacks for ED
and EI NAT. Updating and fixing API & CLI calls.
Type: refactor
Change-Id: I7a9dc4c8b1d2ca29db4754be7dfa4f698942127a
Signed-off-by: Filip Varga <fivarga@cisco.com >
2020-11-13 10:06:57 +00:00
Filip Varga
dd9eae5c29
nat: ipfix logging separation & refactor
...
Type: refactor
Change-Id: I8785e4987e4f60361072440d0c3c6954c9c12394
Signed-off-by: Filip Varga <fivarga@cisco.com >
2020-10-09 10:20:21 +00:00
Filip Varga
1f36023d29
nat: move nat64 to a subfeature
...
Type: refactor
Change-Id: I3b9e17164647d2019b1f40cffeed63393345219e
Signed-off-by: Filip Varga <fivarga@cisco.com >
2020-10-07 09:05:50 +00:00
Filip Varga
603e754658
nat: move deterministic nat to det44 sub feature
...
Type: refactor
Change-Id: I0bb203102a0e13dd7448e2125925ab356bbd7937
Signed-off-by: Filip Varga <fivarga@cisco.com >
2020-08-13 10:06:33 +00:00
Ole Troan
96068d6b94
nat: nat66 to plugin
...
Type: refactor
Change-Id: I8c1f0c02a4522c1f9e461ddadd59938579ec00c6
Signed-off-by: Ole Troan <ot@cisco.com >
2020-07-02 13:13:27 +00:00
Filip Varga
f2833e42c1
nat: dslite plugin separation
...
Type: refactor
Signed-off-by: Filip Varga <fivarga@cisco.com >
Change-Id: I81546423200cc7f8a06b527dac8ead191a9e0519
2020-03-11 17:41:40 +01:00
Ole Troan
2c6639c695
nat: move dslite to separate sub-plugin
...
Type: refactor
Change-Id: If3d9f16f3a06c10b354f1eef674e8db5f3c44de7
Signed-off-by: Ole Troan <ot@cisco.com >
2020-02-05 15:45:30 +00:00
Filip Varga
720435d035
nat: refactor of port/address allocation functions
...
Change-Id: Ie2a3c0f44322dd8415603b7ce51bb72d72769c95
Ticket: VPP-1815
Type: refactor
Signed-off-by: Filip Varga <fivarga@cisco.com >
2020-01-17 13:20:15 +00:00
Klement Sekera
f126e746fc
nat: use SVR
...
Remove NAT's implementation of shallow virtual reassembly with
corresponding CLIs, APIs & tests. Replace with standalone shallow
virtual reassembly provided by ipX-sv-reass* nodes.
Type: refactor
Change-Id: I7e6c7487a5a500d591f6871474a359e0993e59b6
Signed-off-by: Klement Sekera <ksekera@cisco.com >
2020-01-03 10:10:15 +00:00
Matus Fabian
34931eb471
NAT44: active-passive HA (VPP-1571)
...
session synchronization so that we can build a plain active-passive HA NAT pair
Change-Id: I21db200491081ca46b7af3e82afc677c1985abf4
Signed-off-by: Matus Fabian <matfabia@cisco.com >
2019-02-27 00:56:32 -08:00
Filip Varga
e69e423743
NAT: VPP-1552 code migration from old multiarch scheme
...
Change-Id: I88f3df8aaa521e7707ef3335acdbf1ab41e7ee28
Signed-off-by: Filip Varga <fivarga@cisco.com >
2019-02-18 16:46:50 +00:00
Matus Fabian
ad1f3e1482
NAT: syslog - sessions logging (VPP-1139)
...
Change-Id: I6e0b7cf37c1a9ac66f8ac011db29504e57844ee9
Signed-off-by: Matus Fabian <matfabia@cisco.com >
2018-11-29 11:28:29 +00:00
Matus Fabian
ab395ec884
NAT: Refactoring / Housekeeping (VPP-1415)
...
Change-Id: Ia3ce24cc94f9b2fb331ad62a4181ddcd41bc78ca
Signed-off-by: Matus Fabian <matfabia@cisco.com >
2018-09-21 04:07:37 -07:00
Matus Fabian
ea5b5be4ee
NAT44: client-IP based session affinity for load-balancing (VPP-1297)
...
Enable client-IP based session affinity per LB NAT rule with specific timeout.
Change-Id: I9aade152e330218d21dfda99cc5e984d769ab806
Signed-off-by: Matus Fabian <matfabia@cisco.com >
2018-09-03 14:48:54 +00:00
Mohsin Kazmi
f8520159d5
cmake: Fix plugins .h includes
...
Change-Id: I90600d000afb02e8969f3c01bcf9e4b5c10a7d39
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com >
2018-08-27 16:28:15 +02:00
Damjan Marion
d2dcd200fe
cmake: add missing vat plugins
...
Change-Id: Ib61f0299c17c0f021408ab0a44c5b54f55f8a8ec
Signed-off-by: Damjan Marion <damarion@cisco.com >
2018-08-27 10:05:23 +00:00
Damjan Marion
74449b8b68
cmake: improve add_vpp_plugin macro
...
Change-Id: Iffd5c45ab242a919592a1f686f7f880936b68a1a
Signed-off-by: Damjan Marion <damarion@cisco.com >
2018-08-25 11:56:03 +02:00
Damjan Marion
612dd6a955
CMake as an alternative to autotools (experimental)
...
Change-Id: Ibc59323e849810531dd0963e85493efad3b86857
Signed-off-by: Damjan Marion <damarion@cisco.com >
2018-08-17 22:14:39 +00:00