nat: cleanup & reorganization
[vpp.git] / src / plugins / nat / CMakeLists.txt
1 # Copyright (c) 2018 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 set(CMAKE_VERBOSE_MAKEFILE ON)
15
16 add_vpp_library(nat
17   SOURCES
18   lib/ipfix_logging.c
19   lib/nat_syslog.c
20   lib/alloc.c
21
22   INSTALL_HEADERS
23   lib/ipfix_logging.h
24   lib/nat_syslog.h
25   lib/alloc.h
26 )
27
28 add_vpp_plugin(nat
29   SOURCES
30   nat.c
31   nat44_api.c
32   in2out.c
33   in2out_ed.c
34   out2in.c
35   out2in_ed.c
36   nat_dpo.c
37   nat44_cli.c
38   nat44_handoff.c
39   nat44_hairpinning.c
40   nat44_classify.c
41   nat_affinity.c
42   nat_format.c
43   nat_ha.c
44
45   MULTIARCH_SOURCES
46   in2out.c
47   in2out_ed.c
48   nat44_classify.c
49   nat44_hairpinning.c
50   nat44_handoff.c
51   out2in.c
52   out2in_ed.c
53
54   API_FILES
55   nat44.api
56   nat_types.api
57
58   LINK_LIBRARIES nat
59 )
60
61 add_vpp_plugin(dslite
62   SOURCES
63   dslite/dslite_api.c
64   dslite/dslite_dpo.c
65   dslite/dslite.c
66   dslite/dslite_in2out.c
67   dslite/dslite_out2in.c
68   dslite/dslite_cli.c
69   dslite/dslite_ce_encap.c
70   dslite/dslite_ce_decap.c
71
72   MULTIARCH_SOURCES
73   dslite/dslite_ce_decap.c
74   dslite/dslite_ce_encap.c
75   dslite/dslite_in2out.c
76   dslite/dslite_out2in.c
77
78   API_FILES
79   dslite/dslite.api
80
81   LINK_LIBRARIES nat
82 )
83
84 add_vpp_plugin(nat66
85   SOURCES
86   nat66/nat66.c
87   nat66/nat66_cli.c
88   nat66/nat66_api.c
89   nat66/nat66_in2out.c
90   nat66/nat66_out2in.c
91
92   MULTIARCH_SOURCES
93   nat66/nat66_in2out.c
94   nat66/nat66_out2in.c
95
96   API_FILES
97   nat66/nat66.api
98   nat_types.api
99
100   LINK_LIBRARIES nat
101 )
102
103 add_vpp_plugin(det44
104   SOURCES
105   det44/det44.c
106   det44/det44_cli.c
107   det44/det44_api.c
108   det44/det44_in2out.c
109   det44/det44_out2in.c
110
111   MULTIARCH_SOURCES
112   det44/det44_in2out.c
113   det44/det44_out2in.c
114
115   API_FILES
116   det44/det44.api
117   nat_types.api
118
119   LINK_LIBRARIES nat
120 )
121
122 add_vpp_plugin(nat64
123   SOURCES
124   nat64/nat64.c
125   nat64/nat64_db.c
126   nat64/nat64_cli.c
127   nat64/nat64_api.c
128   nat64/nat64_in2out.c
129   nat64/nat64_out2in.c
130
131   MULTIARCH_SOURCES
132   nat64/nat64_in2out.c
133   nat64/nat64_out2in.c
134
135   API_FILES
136   nat64/nat64.api
137   nat_types.api
138
139   LINK_LIBRARIES nat
140 )