X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Facl%2Facl_types.api;h=b8a9482f0e30a56908ab0383139c1167a1e44484;hb=HEAD;hp=a47c9b3668c535edb4f1cb5e38e165595354c324;hpb=bb2e5221a72911bc52be178cfdd22be0ba1b1ca8;p=vpp.git diff --git a/src/plugins/acl/acl_types.api b/src/plugins/acl/acl_types.api index a47c9b3668c..b8a9482f0e3 100644 --- a/src/plugins/acl/acl_types.api +++ b/src/plugins/acl/acl_types.api @@ -14,15 +14,22 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +option version = "1.0.0"; + +import "vnet/ip/ip_types.api"; +import "vnet/ethernet/ethernet_types.api"; + +enum acl_action : u8 +{ + ACL_ACTION_API_DENY = 0, + ACL_ACTION_API_PERMIT = 1, + ACL_ACTION_API_PERMIT_REFLECT = 2, +}; - /** \brief Access List Rule entry @param is_permit - deny (0), permit (1), or permit+reflect(2) action on this rule. - @param is_ipv6 - IP addresses in this rule are IPv6 (1) or IPv4 (0) - @param src_ip_addr - Source prefix value - @param src_ip_prefix_len - Source prefix length - @param dst_ip_addr - Destination prefix value - @param dst_ip_prefix_len - Destination prefix length + @param src_prefix - Source prefix + @param dst_prefix - Destination prefix @param proto - L4 protocol (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml) @param srcport_or_icmptype_first - beginning of source port or ICMP4/6 type range @param srcport_or_icmptype_last - end of source port or ICMP4/6 type range @@ -32,19 +39,16 @@ @param tcp_flags_value - if proto==6, mask to AND the TCP flags in the packet with */ -typeonly manual_print define acl_rule +typedef acl_rule { - u8 is_permit; - u8 is_ipv6; - u8 src_ip_addr[16]; - u8 src_ip_prefix_len; - u8 dst_ip_addr[16]; - u8 dst_ip_prefix_len; + vl_api_acl_action_t is_permit; + vl_api_prefix_t src_prefix; + vl_api_prefix_t dst_prefix; /* * L4 protocol. IANA number. 1 = ICMP, 58 = ICMPv6, 6 = TCP, 17 = UDP. * 0 => ignore L4 and ignore the ports/tcpflags when matching. */ - u8 proto; + vl_api_ip_proto_t proto; /* * If the L4 protocol is TCP or UDP, the below * hold ranges of ports, else if the L4 is ICMP/ICMPv6 @@ -70,30 +74,24 @@ typeonly manual_print define acl_rule /** \brief MACIP Access List Rule entry @param is_permit - deny (0), permit (1) action on this rule. - @param is_ipv6 - IP addresses in this rule are IPv6 (1) or IPv4 (0) @param src_mac - match masked source MAC address against this value @param src_mac_mask - AND source MAC address with this value before matching - @param src_ip_addr - Source prefix value - @param src_ip_prefix_len - Source prefix length + @param src_prefix - Source prefix value */ -typeonly manual_print define macip_acl_rule +typedef macip_acl_rule { - u8 is_permit; - u8 is_ipv6; + vl_api_acl_action_t is_permit; /* * The source mac of the packet ANDed with src_mac_mask. * The source ip[46] address in the packet is matched - * against src_ip_addr, with src_ip_prefix_len set to 0. + * against src_prefix set to 0. * * For better performance, minimize the number of - * (src_mac_mask, src_ip_prefix_len) combinations + * (src_mac_mask, src_prefix.len) combinations * in a MACIP ACL. */ - u8 src_mac[6]; - u8 src_mac_mask[6]; - u8 src_ip_addr[16]; - u8 src_ip_prefix_len; + vl_api_mac_address_t src_mac; + vl_api_mac_address_t src_mac_mask; + vl_api_prefix_t src_prefix; }; - -