From: Vikash Kumar <vikash@noida.interrasystems.com>
To: dev@dpdk.org
Subject: [dpdk-dev] KNI Module (multiple) to handle IGMP requests
Date: Tue, 6 Aug 2019 19:42:01 +0530 [thread overview]
Message-ID: <b2410d21-d293-240d-5676-5d6b42c95188@noida.interrasystems.com> (raw)
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
reply other threads:[~2019-08-06 22:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b2410d21-d293-240d-5676-5d6b42c95188@noida.interrasystems.com \
--to=vikash@noida.interrasystems.com \
--cc=dev@dpdk.org \
--cc=vikash@interrasystems.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).