Add support for igmp and multicast 08/68108/9
authorXavier Simonart <xavier.simonart@intel.com>
Mon, 24 Jun 2019 15:01:54 +0000 (17:01 +0200)
committerXavier Simonart <xavier.simonart@intel.com>
Wed, 9 Oct 2019 17:09:34 +0000 (19:09 +0200)
commit48f8c3d212644a33dd0abaaa1a0c71d4decaafdf
tree515043d3dc43025bb5ce5e6cb842afd68ae891e9
parent4cc4dabe80eb7d19c20920b7ec20899d6a76a1dd
Add support for igmp and multicast

Multicast can be enabled through configuration or through command line
- Through configuration
  Add multicast=mcast_address (e.g. multicast=01:00:5e:01:02:03) in the port
  section
- Through command line
  run enable multicast port_id mcast_address (e.g. enable multicast 1 01:00:5e:01:02:03)

IGMP join message is sent unsollicited through command line:
  join igmp core_id task_id ip (e.g. join igmp 1 0 224.1.1.3)

To enable swap answering IGMP Query (w/ IGMP Join)
- Through configuration
  Add igmp ipv4=ip_address within the core/task section
- Through command line
  join igmp core_id task_id ip (e.g. join igmp 1 0 224.1.1.3)
  (this will 1st initiate an unsollicated join, then answer any subsequent query)

UDP/TCP packets received on a multicast address (224.0.0.0 => 239.255.255.255) are discarded

To stop sending responses to IGMP query:
  leave igmp core_id task_id

Change-Id: I3808ccabf3b38b5a1e10e1b044db63aa05bcd7b5
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
15 files changed:
VNFs/DPPD-PROX/cmd_parser.c
VNFs/DPPD-PROX/commands.c
VNFs/DPPD-PROX/commands.h
VNFs/DPPD-PROX/config/mcast.cfg [new file with mode: 0644]
VNFs/DPPD-PROX/defaults.c
VNFs/DPPD-PROX/handle_swap.c
VNFs/DPPD-PROX/handle_swap.h [deleted file]
VNFs/DPPD-PROX/igmp.h [new file with mode: 0644]
VNFs/DPPD-PROX/prox_args.c
VNFs/DPPD-PROX/prox_cksum.c
VNFs/DPPD-PROX/prox_cksum.h
VNFs/DPPD-PROX/prox_port_cfg.c
VNFs/DPPD-PROX/prox_port_cfg.h
VNFs/DPPD-PROX/task_base.h
VNFs/DPPD-PROX/task_init.h