*I am relying on KNI TCP/IP stack to handle the igmp - Membership Query to
send the igmp - Membership Report, port-1 never send the report and *
* hence switch drops the multicast data within few minutes.*

Are you saying that traffic does arrive on both ports briefly, and then
stops on port1?  This would imply that an IGMP join did initially go out
both ports.

On Tue, Aug 6, 2019 at 5:21 AM Vikash Kumar <vik...@noida.interrasystems.com>
wrote:

> Hello Everyone,
>
> Currently I am working on a project in which I need to capture the ipv4
> multicast data from a managed (igmp enabled) switch.
>
> In order achieve this, I am currently using below configuration:
>
> dpdk-18.05.1.
>
> *Hardware Description:*
>
> Operating System: CentOS Linux 7 (Core)
>
> CPE OS Name: cpe:/o:centos:centos:7
>
> Kernel: Linux 3.10.0-957.12.1.el7.x86_64
>
> Architecture: x86-64
>
> NIC: Ethernet 10G 2P X520 Adapter 154d (ixgbe)
>
> IG Huge Page available.
>
> Changes made in grub: isolcpus=0-1 default_hugepagesz=1G hugepagesz=1G
> transparent_hugepage=never"
>
> KNI Module successfully loaded as : sudo /sbin/insmod
> $RTE_SDK/$RTE_TARGET/kmod/rte_kni.ko kthread_mode=multiple
>
> Successfully created 16 hugepages.
>
> Successfully created hugepage filesystem. (using 'sudo mount -t
> hugetlbfs nodev /mnt/huge')
>
> Static IPs given to both ports of NIC.
>
> Successfully binded both the ports with igb_uio driver.
>
> Referring to KNI sample application, allocated 1 KNI module for each
> port. Used same MAC address, IP address, ifname same as the original NIC.
>
> Able to join multicast feeds using these kni interfaces (
> setsockoptIP_ADD_SOURCE_MEMBERSHIP )
>
> Using 1 lcore for each port. lcore 0 to capture the data over port 0 and
> lcore 1 to capture the data over port 1.
>
> Each of these 2 eal thread running on lcore does the below operations:
>
> rte_eth_rx_burst() -> keep copy of required multicast data and free the
> mbuff if copied. Else all other packets passed to kni tx (including igmp
> packets)
>
> rte_kni_tx_burst()
>
> rte_kni_handle_request()
>
> rte_kni_rx_burst()
>
> rte_eth_tx_burst()
>
> *_Problem Statement:_*
>
> Everything works fine with port 0. But for Port 1, I observe that there
> is no output from rte_kni_rx_burst, which in turn leads to multicast
> drop by switch.
>
> I am relying on KNI TCP/IP stack to handle the igmp - Membership Query
> to send the igmp - Membership Report, port-1 never send the report and
> hence switch drops the multicast data within few minutes.
>
> I have seen this behaviour on 2-3 machines of almost similar
> configuration. However, strangly on one another similar machine, the
> behaviour was totally opposite. There Port1 was working fine and port0
> was dropping the multicast.
>
> *Please advice, what I am missing here and what can I do to debug this
> issue further.*
>
> **
>
> Thanks & Regards,
>
> Vix
>
>
>

-- 
Regards,
Dave Seddon
+1 415 310 4086

Reply via email to