xref: /openbmc/linux/include/net/tc_act/tc_nat.h (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2b4219952SHerbert Xu #ifndef __NET_TC_NAT_H
3b4219952SHerbert Xu #define __NET_TC_NAT_H
4b4219952SHerbert Xu 
5b4219952SHerbert Xu #include <linux/types.h>
6b4219952SHerbert Xu #include <net/act_api.h>
7b4219952SHerbert Xu 
8*7d12057bSPedro Tammela struct tcf_nat_parms {
9b4219952SHerbert Xu 	__be32 old_addr;
10b4219952SHerbert Xu 	__be32 new_addr;
11b4219952SHerbert Xu 	__be32 mask;
12b4219952SHerbert Xu 	u32 flags;
13*7d12057bSPedro Tammela 	struct rcu_head rcu;
14*7d12057bSPedro Tammela };
15*7d12057bSPedro Tammela 
16*7d12057bSPedro Tammela struct tcf_nat {
17*7d12057bSPedro Tammela 	struct tc_action common;
18*7d12057bSPedro Tammela 	struct tcf_nat_parms __rcu *parms;
19b4219952SHerbert Xu };
20b4219952SHerbert Xu 
21a85a970aSWANG Cong #define to_tcf_nat(a) ((struct tcf_nat *)a)
22b4219952SHerbert Xu 
23b4219952SHerbert Xu #endif /* __NET_TC_NAT_H */
24