summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/prox_args.c
diff options
context:
space:
mode:
Diffstat (limited to 'VNFs/DPPD-PROX/prox_args.c')
-rw-r--r--VNFs/DPPD-PROX/prox_args.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/VNFs/DPPD-PROX/prox_args.c b/VNFs/DPPD-PROX/prox_args.c
index b99796b7..df69f979 100644
--- a/VNFs/DPPD-PROX/prox_args.c
+++ b/VNFs/DPPD-PROX/prox_args.c
@@ -534,6 +534,17 @@ static int get_port_cfg(unsigned sindex, char *str, void *data)
}
cfg->promiscuous = val;
}
+ else if (STR_EQ(str, "multicast")) {
+ uint32_t val;
+ if (cfg->nb_mc_addr >= NB_MCAST_ADDR) {
+ plog_err("too many multicast addresses\n");
+ return -1;
+ }
+ if (parse_mac(&cfg->mc_addr[cfg->nb_mc_addr], pkey)) {
+ return -1;
+ }
+ cfg->nb_mc_addr++ ;
+ }
else if (STR_EQ(str, "lsc")) {
cfg->lsc_set_explicitely = 1;
uint32_t val;
@@ -856,9 +867,6 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
if (STR_EQ(str, "fast path handle arp")) {
return parse_flag(&targ->runtime_flags, TASK_FP_HANDLE_ARP, pkey);
}
- if (STR_EQ(str, "multiple arp")) {
- return parse_flag(&targ->flags, TASK_MULTIPLE_MAC, pkey);
- }
/* Using tx port name, only a _single_ port can be assigned to a task. */
if (STR_EQ(str, "tx port")) {
@@ -1356,6 +1364,9 @@ static int get_core_cfg(unsigned sindex, char *str, void *data)
targ->flags |= TASK_ARG_SRC_MAC_SET;
return 0;
}
+ if (STR_EQ(str, "igmp ipv4")) { /* IGMP Group */
+ return parse_ip(&targ->igmp_address, pkey);
+ }
if (STR_EQ(str, "gateway ipv4")) { /* Gateway IP address used when generating */
if ((targ->flags & TASK_ARG_L3) == 0)
plog_warn("gateway ipv4 configured but L3 sub mode not enabled\n");