NAT: syslog - sessions logging (VPP-1139)
[vpp.git] / src / plugins / nat / nat_syslog.h
1 /*
2  * Copyright (c) 2018 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 /**
16  * @file
17  * @brief NAT syslog logging
18  */
19
20 #ifndef __included_nat_syslog_h__
21 #define __included_nat_syslog_h__
22
23 #include <nat/nat.h>
24
25 void nat_syslog_nat44_apmadd (u32 ssubix, u32 sfibix, ip4_address_t * isaddr,
26                               u16 isport, ip4_address_t * xsaddr, u16 xsport,
27                               snat_protocol_t proto);
28
29 void nat_syslog_nat44_apmdel (u32 ssubix, u32 sfibix, ip4_address_t * isaddr,
30                               u16 isport, ip4_address_t * xsaddr, u16 xsport,
31                               snat_protocol_t proto);
32
33 void
34 nat_syslog_dslite_apmadd (u32 ssubix, ip6_address_t * sv6enc,
35                           ip4_address_t * isaddr, u16 isport,
36                           ip4_address_t * xsaddr, u16 xsport,
37                           snat_protocol_t proto);
38
39 void
40 nat_syslog_dslite_apmdel (u32 ssubix, ip6_address_t * sv6enc,
41                           ip4_address_t * isaddr, u16 isport,
42                           ip4_address_t * xsaddr, u16 xsport,
43                           snat_protocol_t proto);
44
45 void nat_syslog_nat44_sadd (u32 ssubix, u32 sfibix, ip4_address_t * isaddr,
46                             u16 isport, ip4_address_t * idaddr, u16 idport,
47                             ip4_address_t * xsaddr, u16 xsport,
48                             ip4_address_t * xdaddr, u16 xdport,
49                             snat_protocol_t proto, u8 is_twicenat);
50
51 void nat_syslog_nat44_sdel (u32 ssubix, u32 sfibix, ip4_address_t * isaddr,
52                             u16 isport, ip4_address_t * idaddr, u16 idport,
53                             ip4_address_t * xsaddr, u16 xsport,
54                             ip4_address_t * xdaddr, u16 xdport,
55                             snat_protocol_t proto, u8 is_twicenat);
56
57 void nat_syslog_nat64_sadd (u32 sfibix, ip6_address_t * isaddr, u16 isport,
58                             ip4_address_t * xsaddr, u16 xsport,
59                             ip4_address_t * xdaddr, u16 xdport,
60                             snat_protocol_t proto);
61
62 void nat_syslog_nat64_sdel (u32 sfibix, ip6_address_t * isaddr, u16 isport,
63                             ip4_address_t * xsaddr, u16 xsport,
64                             ip4_address_t * xdaddr, u16 xdport,
65                             snat_protocol_t proto);
66
67 #endif /* __included_nat_syslog_h__ */
68
69 /*
70  * fd.io coding-style-patch-verification: ON
71  *
72  * Local Variables:
73  * eval: (c-set-style "gnu")
74  * End:
75  */