On 5/11/2016 3:31 PM, Pavey, Nicholas wrote: > Hi Sakthivel, Andriy, > > Thanks for the email. > > I?m still having trouble, although things do seem to be working better than > before. > > It seems that the MAC address suggestion and also the IPs on the same class B > network aren?t the root cause. > > > Current symptoms > ================ > > I rebooted my machine, and took a note of the MAC addresses as the machine > started up. It turns out that the KNI virtual interfaces actually did > initialize with the correct MAC addresses. > > I also reconfigured the virtual interfaces to be using different network > classes, so that should no longer be a problem. > > Something has improved because I?m able to see traffic on the KNI virtual > interface with tcpdump, which I was not able to do previously. > > Unfortunately, even though tcpdump is able to see the traffic correctly, it > seems that the networking stack isn?t working as I would expect. > > > > Outbound > ======== > > Ping > ---- > > I can see outbound ?pings? (with initial ARP requests) with ?tcpdump', and I > can see a response coming back. However, the ?ping? application reports 100% > packet loss. > > The ARP traffic is definitely getting out, because I see the IP address > registered in the router?s ARP cache. Likewise, I see a response to the > original ?ping? packet, so the outbound direction seems to be working. > > > Inbound > ======= > > The problems seem to be on the inbound side. As we saw above, the outbound > side appears to be working reasonably, but I don?t appear to be able to > capture inbound packets. > > TCP > --- > > For example, if I set up a simple ?netcat? listener (using TCP for transport) > on the target server: > > nc ?l 172.25.48.200 9876 > > And then attempt to connect to it from another machine, as follows: > > nc 172.25.48.200 9876 > > > ?tcpdump? on the target server will show me the incoming ?syn? and a ?syn? > retransmission, but there are no outbound ?ack? packets. > > > UDP > --- > > Similarly, inbound UDP traffic never appears to be routed to the user space > application. > > I can counters incrementing on the virtual interface with ?sar ?n DEV 1 100?. > ?tcpdump? also shows me the incoming data. > > However, if I look at the UDP stats with ?sar ?n UDP 1 100?, I?m not seeing > any packets arriving, even with ?no port? or ?idgmerr?, which I?d normally > expect if there?s no listening application bound to the IP address. > > > Next steps > ========== > > It almost seems as if the receive side of the network stack simply isn?t > seeing the inbound data (regardless of whether it?s ICMP, TCP or UDP) and > therefore isn?t sending responses. > > > The thing I?m confused about here is how ?tcpdump? is able to see the traffic > - after all, if it?s able to see the inbound traffic, then a good part of the > RX side of the stack must be working. I?d have thought that if ?tcpdump? can > see the traffic, then the rest of the stack should be working too. > > It makes me wondering whether perhaps I?m misunderstanding the purpose of the > KNI system? > > My interpretation is that it?s supposed to route traffic from the DPDK into > the regular Linux network stack, where it can be used as if it were regular > traffic. Do I have that right? > > > > Do you have any ideas? > > Thanks, > > > Nick > > > From: SAKTHIVEL ANAND S <anand.sa88 at gmail.com> > Date: Wednesday, May 11, 2016 at 3:30 AM > To: "Pavey, Nicholas" <npavey at akamai.com> > Subject: Re: [dpdk-users] Unable to see incoming packets with example KNI > application > > > Hi > > When you try to send echo packets(outbound), your PC will try to resolve ARP, > which it could not complete properly .. due to random mac generation for KNI > interface(your KNI interface having different MAC than actual interface). > > > After starting KNI app write your hardware address on KNI by doing, "ifconfig > <vETHname> hw ether <real HW address>" and try ping. Let me know the results. > > > use "tcpdump -n -i vEth** -e | grep <filter>" > > Regards > > Sakthivel S OM > >
Hi Nick, This may not help for your problem but can work as a reference: I did test two things with latest code and both worked well: 1- Two NICs , as in your case, with packet generator each end. Internally created an bridge and added KNI interfaces to bridge, I observe received packets in generator. 2- Tested with netcat, KNI interface able to send/receive packets, both for udp and tcp. I checked for your case, not able to find any obvious error. Regards, ferruh
