162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2016, Jamal Hadi Salim 462306a36Sopenharmony_ci*/ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef __NET_TC_SKBMOD_H 762306a36Sopenharmony_ci#define __NET_TC_SKBMOD_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <net/act_api.h> 1062306a36Sopenharmony_ci#include <linux/tc_act/tc_skbmod.h> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cistruct tcf_skbmod_params { 1362306a36Sopenharmony_ci struct rcu_head rcu; 1462306a36Sopenharmony_ci u64 flags; /*up to 64 types of operations; extend if needed */ 1562306a36Sopenharmony_ci u8 eth_dst[ETH_ALEN]; 1662306a36Sopenharmony_ci u16 eth_type; 1762306a36Sopenharmony_ci u8 eth_src[ETH_ALEN]; 1862306a36Sopenharmony_ci}; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cistruct tcf_skbmod { 2162306a36Sopenharmony_ci struct tc_action common; 2262306a36Sopenharmony_ci struct tcf_skbmod_params __rcu *skbmod_p; 2362306a36Sopenharmony_ci}; 2462306a36Sopenharmony_ci#define to_skbmod(a) ((struct tcf_skbmod *)a) 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#endif /* __NET_TC_SKBMOD_H */ 27