VPP-189 - Coverity OVERRUN error in port-range
Change-Id: Ib9f43dffa9d04478d92063b71dd7bef4ac6969f1 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
This commit is contained in:
Keith Burns (alagalah)
committed by
Dave Barach
parent
54360750d3
commit
cc9658c8b3
File diff suppressed because it is too large
Load Diff
@ -17,7 +17,8 @@
|
||||
#define included_ip_ip_source_and_port_range_check_h
|
||||
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
u32 ranges_per_adjacency;
|
||||
u32 special_adjacency_format_function_index;
|
||||
|
||||
@ -28,7 +29,8 @@ typedef struct {
|
||||
|
||||
source_range_check_main_t source_range_check_main;
|
||||
|
||||
typedef enum {
|
||||
typedef enum
|
||||
{
|
||||
IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_TCP_OUT,
|
||||
IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_UDP_OUT,
|
||||
IP_SOURCE_AND_PORT_RANGE_CHECK_PROTOCOL_TCP_IN,
|
||||
@ -36,42 +38,51 @@ typedef enum {
|
||||
IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS,
|
||||
} ip_source_and_port_range_check_protocol_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
u32 fib_index[IP_SOURCE_AND_PORT_RANGE_CHECK_N_PROTOCOLS];
|
||||
} ip_source_and_port_range_check_config_t;
|
||||
|
||||
#define IP_SOURCE_AND_PORT_RANGE_CHECK_RANGE_LIMIT VLIB_BUFFER_PRE_DATA_SIZE/(2*sizeof(u16x8));
|
||||
|
||||
typedef struct {
|
||||
union {
|
||||
typedef struct
|
||||
{
|
||||
union
|
||||
{
|
||||
u16x8 as_u16x8;
|
||||
u16 as_u16[8];
|
||||
};
|
||||
} u16x8vec_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
u16x8vec_t low;
|
||||
u16x8vec_t hi;
|
||||
} protocol_port_range_t;
|
||||
|
||||
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);
|
||||
u32 length,
|
||||
u32 vrf_id,
|
||||
u16 * low_ports,
|
||||
u16 * hi_ports, int is_add);
|
||||
|
||||
// This will be moved to another file in another patch -- for API freeze
|
||||
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);
|
||||
u32 length,
|
||||
u32 vrf_id,
|
||||
u16 * low_ports,
|
||||
u16 * hi_ports, int is_add);
|
||||
|
||||
int set_ip_source_and_port_range_check (vlib_main_t * vm,
|
||||
u32 * fib_index,
|
||||
u32 sw_if_index,
|
||||
u32 is_add);
|
||||
u32 * fib_index,
|
||||
u32 sw_if_index, u32 is_add);
|
||||
|
||||
#endif /* included ip_source_and_port_range_check_h */
|
||||
|
||||
/*
|
||||
* fd.io coding-style-patch-verification: ON
|
||||
*
|
||||
* Local Variables:
|
||||
* eval: (c-set-style "gnu")
|
||||
* End:
|
||||
*/
|
||||
|
Reference in New Issue
Block a user