1 /* 2 * Copyright (c) 2016, Jamal Hadi Salim 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 */ 9 10 #ifndef __NET_TC_SKBMOD_H 11 #define __NET_TC_SKBMOD_H 12 13 #include <net/act_api.h> 14 #include <linux/tc_act/tc_skbmod.h> 15 16 struct tcf_skbmod_params { 17 struct rcu_head rcu; 18 u64 flags; /*up to 64 types of operations; extend if needed */ 19 u8 eth_dst[ETH_ALEN]; 20 u16 eth_type; 21 u8 eth_src[ETH_ALEN]; 22 }; 23 24 struct tcf_skbmod { 25 struct tc_action common; 26 struct tcf_skbmod_params __rcu *skbmod_p; 27 }; 28 #define to_skbmod(a) ((struct tcf_skbmod *)a) 29 30 #endif /* __NET_TC_SKBMOD_H */ 31