![WANG Cong](/assets/img/avatar_default.png)
Now we can totally hide it from modules. tcf_hash_*() API's will operate on struct tc_action, modules don't need to care about the details. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
22 lines
359 B
C
22 lines
359 B
C
#ifndef __NET_TC_NAT_H
|
|
#define __NET_TC_NAT_H
|
|
|
|
#include <linux/types.h>
|
|
#include <net/act_api.h>
|
|
|
|
struct tcf_nat {
|
|
struct tcf_common common;
|
|
|
|
__be32 old_addr;
|
|
__be32 new_addr;
|
|
__be32 mask;
|
|
u32 flags;
|
|
};
|
|
|
|
static inline struct tcf_nat *to_tcf_nat(struct tc_action *a)
|
|
{
|
|
return container_of(a->priv, struct tcf_nat, common);
|
|
}
|
|
|
|
#endif /* __NET_TC_NAT_H */
|