1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2015 Intel Corporation
5 #ifndef __INCLUDE_PIPELINE_FIREWALL_BE_H__
6 #define __INCLUDE_PIPELINE_FIREWALL_BE_H__
8 #include "pipeline_common_be.h"
10 enum pipeline_firewall_key_type {
11 PIPELINE_FIREWALL_IPV4_5TUPLE,
14 struct pipeline_firewall_key_ipv4_5tuple {
19 uint16_t src_port_from;
21 uint16_t dst_port_from;
27 struct pipeline_firewall_key {
28 enum pipeline_firewall_key_type type;
30 struct pipeline_firewall_key_ipv4_5tuple ipv4_5tuple;
34 enum pipeline_firewall_msg_req_type {
35 PIPELINE_FIREWALL_MSG_REQ_ADD = 0,
36 PIPELINE_FIREWALL_MSG_REQ_DEL,
37 PIPELINE_FIREWALL_MSG_REQ_ADD_BULK,
38 PIPELINE_FIREWALL_MSG_REQ_DEL_BULK,
39 PIPELINE_FIREWALL_MSG_REQ_ADD_DEFAULT,
40 PIPELINE_FIREWALL_MSG_REQ_DEL_DEFAULT,
41 PIPELINE_FIREWALL_MSG_REQS
47 struct pipeline_firewall_add_msg_req {
48 enum pipeline_msg_req_type type;
49 enum pipeline_firewall_msg_req_type subtype;
52 struct pipeline_firewall_key key;
59 struct pipeline_firewall_add_msg_rsp {
68 struct pipeline_firewall_del_msg_req {
69 enum pipeline_msg_req_type type;
70 enum pipeline_firewall_msg_req_type subtype;
73 struct pipeline_firewall_key key;
76 struct pipeline_firewall_del_msg_rsp {
84 struct pipeline_firewall_add_bulk_msg_req {
85 enum pipeline_msg_req_type type;
86 enum pipeline_firewall_msg_req_type subtype;
88 struct pipeline_firewall_key *keys;
96 struct pipeline_firewall_add_bulk_msg_rsp {
103 struct pipeline_firewall_del_bulk_msg_req {
104 enum pipeline_msg_req_type type;
105 enum pipeline_firewall_msg_req_type subtype;
108 struct pipeline_firewall_key *keys;
113 struct pipeline_firewall_del_bulk_msg_rsp {
120 struct pipeline_firewall_add_default_msg_req {
121 enum pipeline_msg_req_type type;
122 enum pipeline_firewall_msg_req_type subtype;
128 struct pipeline_firewall_add_default_msg_rsp {
136 struct pipeline_firewall_del_default_msg_req {
137 enum pipeline_msg_req_type type;
138 enum pipeline_firewall_msg_req_type subtype;
141 struct pipeline_firewall_del_default_msg_rsp {
145 extern struct pipeline_be_ops pipeline_firewall_be_ops;