diff options
author | Xavier Simonart <xavier.simonart@intel.com> | 2019-06-24 17:01:54 +0200 |
---|---|---|
committer | Xavier Simonart <xavier.simonart@intel.com> | 2019-10-09 19:09:34 +0200 |
commit | 48f8c3d212644a33dd0abaaa1a0c71d4decaafdf (patch) | |
tree | 515043d3dc43025bb5ce5e6cb842afd68ae891e9 /VNFs/DPPD-PROX/prox_cksum.h | |
parent | 4cc4dabe80eb7d19c20920b7ec20899d6a76a1dd (diff) |
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>
Diffstat (limited to 'VNFs/DPPD-PROX/prox_cksum.h')
-rw-r--r-- | VNFs/DPPD-PROX/prox_cksum.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/VNFs/DPPD-PROX/prox_cksum.h b/VNFs/DPPD-PROX/prox_cksum.h index c11b17a5..57489900 100644 --- a/VNFs/DPPD-PROX/prox_cksum.h +++ b/VNFs/DPPD-PROX/prox_cksum.h @@ -25,6 +25,7 @@ #include <rte_udp.h> #include <rte_tcp.h> #include <rte_mbuf.h> +#include "igmp.h" #if RTE_VERSION >= RTE_VERSION_NUM(1,8,0,0) #define CALC_TX_OL(l2_len, l3_len) ((uint64_t)(l2_len) | (uint64_t)(l3_len) << 7) @@ -64,5 +65,6 @@ void prox_ip_udp_cksum(struct rte_mbuf *mbuf, struct ipv4_hdr *buf, uint16_t l2_ /* src_ip_addr/dst_ip_addr are in network byte order */ void prox_udp_cksum_sw(struct udp_hdr *udp, uint16_t len, uint32_t src_ip_addr, uint32_t dst_ip_addr); void prox_tcp_cksum_sw(struct tcp_hdr *tcp, uint16_t len, uint32_t src_ip_addr, uint32_t dst_ip_addr); +void prox_igmp_cksum_sw(struct igmpv2_hdr *igmp, uint16_t len); #endif /* _PROX_CKSUM_H_ */ |