* [dpdk-users] [dpdk-dev] KNI Module (multiple) to handle IGMP requests
@ 2019-08-06 12:21 Vikash Kumar
2019-08-06 14:29 ` dave seddon
0 siblings, 1 reply; 2+ messages in thread
From: Vikash Kumar @ 2019-08-06 12:21 UTC (permalink / raw)
To: users
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-users] [dpdk-dev] KNI Module (multiple) to handle IGMP requests
2019-08-06 12:21 [dpdk-users] [dpdk-dev] KNI Module (multiple) to handle IGMP requests Vikash Kumar
@ 2019-08-06 14:29 ` dave seddon
0 siblings, 0 replies; 2+ messages in thread
From: dave seddon @ 2019-08-06 14:29 UTC (permalink / raw)
To: vikash; +Cc: users
*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 <vikash@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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-06 14:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-06 12:21 [dpdk-users] [dpdk-dev] KNI Module (multiple) to handle IGMP requests Vikash Kumar
2019-08-06 14:29 ` dave seddon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).