1 /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ 2 /* Copyright (c) 2021, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ 3 4 #ifndef __MLX5_EN_TC_ACT_PEDIT_H__ 5 #define __MLX5_EN_TC_ACT_PEDIT_H__ 6 7 #include "en_tc.h" 8 9 struct pedit_headers { 10 struct ethhdr eth; 11 struct vlan_hdr vlan; 12 struct iphdr ip4; 13 struct ipv6hdr ip6; 14 struct tcphdr tcp; 15 struct udphdr udp; 16 }; 17 18 struct pedit_headers_action { 19 struct pedit_headers vals; 20 struct pedit_headers masks; 21 u32 pedits; 22 }; 23 24 int 25 mlx5e_tc_act_pedit_parse_action(struct mlx5e_priv *priv, 26 const struct flow_action_entry *act, int namespace, 27 struct pedit_headers_action *hdrs, 28 struct netlink_ext_ack *extack); 29 30 #endif /* __MLX5_EN_TC_ACT_PEDIT_H__ */ 31