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