sonic-net / SONiC

Landing page for Software for Open Networking in the Cloud (SONiC) - https://sonic-net.github.io/SONiC/
2.27k stars 1.14k forks source link

IPMC dataplane #1728

Open zhangyanzhao opened 4 months ago

zhangyanzhao commented 4 months ago

Comments from MicasNetworks: IP multicast allows network device forwarding packets to multiple route interfaces. The DIP in the IP header is specified in the range from [224.0.0.0] through 239.255.255.255. PIM and IGMP are control protocols to support the feature. Most switch ASIC support IPMC as it is one based feature.

Our design forcus on IPMC dataplane in swss layer of SONiC. Two components are added in swss container:       One is IPMC route sync, which listens to kernel multicast route NetLink message, and pushes route information to APPL_DB.       Another is IPMC route orchagent , which listens to APPL_DB message, and calls SAI IPMC API, put the config to ASIC finally. As sync component gets route information from kernel, Protocol control can be from FRR or others only if injecting multicast route into kernel. We have verifed the the funtion with FRR PIM/IGMP as control protocol and Broadcom platfrom based product.

Thanks!

philo-micas commented 2 months ago

https://github.com/sonic-net/SONiC/pull/1808