#define _PARSE_UTILS_H_
#include <inttypes.h>
+#include "prox_compat.h"
#include "ip_subnet.h"
-#define MAX_STR_LEN_PROC (3 * 1518 + 20)
+#define MAX_STR_LEN_PROC (3 * MAX_PKT_SIZE + 20)
struct ipv6_addr;
-struct ether_addr;
enum ctrl_type {CTRL_TYPE_DP, CTRL_TYPE_MSG, CTRL_TYPE_PKT};
/* parses CIDR notation. Note that bits within the address that are
outside the subnet (as specified by the prefix) are set to 0. */
+int parse_ip4_and_prefix(struct ip4_subnet *val, const char *saddr);
int parse_ip4_cidr(struct ip4_subnet *val, const char *saddr);
int parse_ip6_cidr(struct ip6_subnet *val, const char *saddr);
int parse_ip6(struct ipv6_addr *addr, const char *saddr);
-int parse_mac(struct ether_addr *paddr, const char *saddr);
+int parse_mac(prox_rte_ether_addr *paddr, const char *saddr);
/* return error on overflow or invalid suffix*/
int parse_kmg(uint32_t* val, const char *str);
int parse_flag(uint32_t* val, uint32_t flag, const char *str);
int parse_list_set(uint32_t *list, const char *str, uint32_t max_limit);
+int parse_ip_set(struct ip4_subnet *list, const char *str2, uint32_t max_list);
+int parse_int_set(uint32_t *list, const char *str2, uint32_t max_list);
int parse_task_set(struct core_task_set *val, const char *str);