FD.io VPP  v16.09
Vector Packet Processing
ip_source_and_port_range_check.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef included_ip_ip_source_and_port_range_check_h
17 #define included_ip_ip_source_and_port_range_check_h
18 
19 
20 typedef struct
21 {
24 
25  /* convenience */
29 
31 
32 typedef enum
33 {
40 
41 typedef struct
42 {
45 
46 #define IP_SOURCE_AND_PORT_RANGE_CHECK_RANGE_LIMIT VLIB_BUFFER_PRE_DATA_SIZE/(2*sizeof(u16x8));
47 
48 typedef struct
49 {
50  union
51  {
52  u16x8 as_u16x8;
53  u16 as_u16[8];
54  };
55 } u16x8vec_t;
56 
57 typedef struct
58 {
62 
64  u32 length,
65  u32 vrf_id,
66  u16 * low_ports,
67  u16 * hi_ports, int is_add);
68 
69 // This will be moved to another file in another patch -- for API freeze
71  u32 length,
72  u32 vrf_id,
73  u16 * low_ports,
74  u16 * hi_ports, int is_add);
75 
77  u32 * fib_index,
78  u32 sw_if_index, u32 is_add);
79 
80 #endif /* included ip_source_and_port_range_check_h */
81 
82 /*
83  * fd.io coding-style-patch-verification: ON
84  *
85  * Local Variables:
86  * eval: (c-set-style "gnu")
87  * End:
88  */
ip_source_and_port_range_check_protocol_t
int ip6_source_and_port_range_check_add_del(ip6_address_t *address, u32 length, u32 vrf_id, u16 *low_ports, u16 *hi_ports, int is_add)
int ip4_source_and_port_range_check_add_del(ip4_address_t *address, u32 length, u32 vrf_id, u16 *low_ports, u16 *hi_ports, int is_add)
unsigned int u32
Definition: types.h:88
source_range_check_main_t source_range_check_main
unsigned short u16
Definition: types.h:57
int set_ip_source_and_port_range_check(vlib_main_t *vm, u32 *fib_index, u32 sw_if_index, u32 is_add)