[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.20
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.63.1.el8_10.x86_64
/
include
/
net
/
tc_act
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 tc_bpf.h
663 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_connmark.h
392 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_csum.h
798 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_ct.h
2,140 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_ctinfo.h
585 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_defact.h
278 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_gact.h
1,729 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_gate.h
2,678 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_ife.h
2,143 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_ipt.h
324 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_mirred.h
1,440 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_mpls.h
2,004 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_nat.h
404 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_pedit.h
2,372 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_police.h
4,892 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_sample.h
918 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_skbedit.h
3,703 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_skbmod.h
765 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_tunnel_key.h
2,371 B
SET
[ EDIT ]
|
[ DEL ]
📄 tc_vlan.h
2,269 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: tc_pedit.h
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __NET_TC_PED_H #define __NET_TC_PED_H #include <net/act_api.h> #include <linux/tc_act/tc_pedit.h> #include <linux/types.h> struct tcf_pedit_key_ex { enum pedit_header_type htype; enum pedit_cmd cmd; }; struct tcf_pedit_parms { struct tc_pedit_key *tcfp_keys; struct tcf_pedit_key_ex *tcfp_keys_ex; u32 tcfp_off_max_hint; unsigned char tcfp_nkeys; unsigned char tcfp_flags; struct rcu_head rcu; }; struct tcf_pedit { struct tc_action common; struct tcf_pedit_parms __rcu *parms; }; #define to_pedit(a) ((struct tcf_pedit *)a) #define to_pedit_parms(a) (rcu_dereference(to_pedit(a)->parms)) static inline bool is_tcf_pedit(const struct tc_action *a) { #ifdef CONFIG_NET_CLS_ACT if (a->ops && a->ops->id == TCA_ID_PEDIT) return true; #endif return false; } static inline int tcf_pedit_nkeys(const struct tc_action *a) { struct tcf_pedit_parms *parms; int nkeys; rcu_read_lock(); parms = to_pedit_parms(a); nkeys = parms->tcfp_nkeys; rcu_read_unlock(); return nkeys; } static inline u32 tcf_pedit_htype(const struct tc_action *a, int index) { u32 htype = TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK; struct tcf_pedit_parms *parms; rcu_read_lock(); parms = to_pedit_parms(a); if (parms->tcfp_keys_ex) htype = parms->tcfp_keys_ex[index].htype; rcu_read_unlock(); return htype; } static inline u32 tcf_pedit_cmd(const struct tc_action *a, int index) { struct tcf_pedit_parms *parms; u32 cmd = __PEDIT_CMD_MAX; rcu_read_lock(); parms = to_pedit_parms(a); if (parms->tcfp_keys_ex) cmd = parms->tcfp_keys_ex[index].cmd; rcu_read_unlock(); return cmd; } static inline u32 tcf_pedit_mask(const struct tc_action *a, int index) { struct tcf_pedit_parms *parms; u32 mask; rcu_read_lock(); parms = to_pedit_parms(a); mask = parms->tcfp_keys[index].mask; rcu_read_unlock(); return mask; } static inline u32 tcf_pedit_val(const struct tc_action *a, int index) { struct tcf_pedit_parms *parms; u32 val; rcu_read_lock(); parms = to_pedit_parms(a); val = parms->tcfp_keys[index].val; rcu_read_unlock(); return val; } static inline u32 tcf_pedit_offset(const struct tc_action *a, int index) { struct tcf_pedit_parms *parms; u32 off; rcu_read_lock(); parms = to_pedit_parms(a); off = parms->tcfp_keys[index].off; rcu_read_unlock(); return off; } #endif /* __NET_TC_PED_H */