1ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#ifndef __LINUX_TC_NAT_H
2ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#define __LINUX_TC_NAT_H
3ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu
4ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#include <linux/pkt_cls.h>
5ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#include <linux/types.h>
6ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu
7ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#define TCA_ACT_NAT 9
8ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu
9ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum {
10ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	TCA_NAT_UNSPEC,
11ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	TCA_NAT_PARMS,
12ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	TCA_NAT_TM,
13ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	__TCA_NAT_MAX
14ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu};
15ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#define TCA_NAT_MAX (__TCA_NAT_MAX - 1)
16ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu
17ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#define TCA_NAT_FLAG_EGRESS 1
18ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu
19ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_nat {
20ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	tc_gen;
21ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	__be32 old_addr;
22ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	__be32 new_addr;
23ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	__be32 mask;
24ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu	__u32 flags;
25ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu};
26ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu
27ec30dcce718ebe13f6396cb560283d3cbcca7354Herbert Xu#endif
28