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