Added support for multiple vlans in ipv4 vdev mode
[samplevnf.git] / VNFs / DPPD-PROX / parse_utils.h
index 27ebb0b..03c0318 100644 (file)
 #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};
 
@@ -46,6 +46,7 @@ int parse_range(uint32_t* lo, uint32_t* hi, const char *saddr);
 
 /* 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);
 
@@ -53,7 +54,7 @@ int parse_ip(uint32_t *paddr, 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);
@@ -63,6 +64,8 @@ int parse_bool(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);