xref: /openbmc/linux/include/net/tc_act/tc_skbmod.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*2874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
286da71b5SJamal Hadi Salim /*
386da71b5SJamal Hadi Salim  * Copyright (c) 2016, Jamal Hadi Salim
486da71b5SJamal Hadi Salim */
586da71b5SJamal Hadi Salim 
686da71b5SJamal Hadi Salim #ifndef __NET_TC_SKBMOD_H
786da71b5SJamal Hadi Salim #define __NET_TC_SKBMOD_H
886da71b5SJamal Hadi Salim 
986da71b5SJamal Hadi Salim #include <net/act_api.h>
1086da71b5SJamal Hadi Salim #include <linux/tc_act/tc_skbmod.h>
1186da71b5SJamal Hadi Salim 
1286da71b5SJamal Hadi Salim struct tcf_skbmod_params {
1386da71b5SJamal Hadi Salim 	struct rcu_head	rcu;
1486da71b5SJamal Hadi Salim 	u64	flags; /*up to 64 types of operations; extend if needed */
1586da71b5SJamal Hadi Salim 	u8	eth_dst[ETH_ALEN];
1686da71b5SJamal Hadi Salim 	u16	eth_type;
1786da71b5SJamal Hadi Salim 	u8	eth_src[ETH_ALEN];
1886da71b5SJamal Hadi Salim };
1986da71b5SJamal Hadi Salim 
2086da71b5SJamal Hadi Salim struct tcf_skbmod {
2186da71b5SJamal Hadi Salim 	struct tc_action	common;
2286da71b5SJamal Hadi Salim 	struct tcf_skbmod_params __rcu *skbmod_p;
2386da71b5SJamal Hadi Salim };
2486da71b5SJamal Hadi Salim #define to_skbmod(a) ((struct tcf_skbmod *)a)
2586da71b5SJamal Hadi Salim 
2686da71b5SJamal Hadi Salim #endif /* __NET_TC_SKBMOD_H */
27