Actually I have no idea why this happens. If your switch configuration is correct, your program should work just like Wireshark does. I wander whether your program uses RSS. In my opinion, program bug is the most probable reason.
Keunhong. 2015-06-29 23:32 GMT+09:00 Daeyoung Kim <kdy1029 at gmail.com>: > Hi Keunhong, > > Thank you for your help. Here is the network topology. > > DNS Client - Switch 1 - Switch 2 - Switch 3 - DNS Server > | | > port 0 port 1 > > DPDK port 0 receives packets using from the Switch 1 port mirroring and > port 1 receives packets from the Switch 2 using port mirroring as well. As > I already said, when I send DNS packets, the wireshark simultaneously gets > all the packets on two ports. I'm sorry what I told you is incorrect. Using > my program with promiscuous mode, the port 0 receives only DNS queries from > the DNS client, but the port 1 receives only DNS replies from the DNS > server. I'd like to know why it happens. > > Thank you very much! > > Regards, > Daeyoung > > 2015-06-28 20:22 GMT-04:00 Keunhong Lee <dlrmsghd at gmail.com>: > >> I don't know your situation exactly, but here are possible problems. >> >> 1. Your switch learned MAC addresses of two ports. >> 2. Your program bug. >> 3. l3fwd itself contains some bug. >> 4. You did not set all ports in promiscuous mode. >> >> You'd better try 'pktgen' application to test your environment. >> >> Keunhong. >> >> >> >> 2015-06-27 0:45 GMT+09:00 Daeyoung Kim <kdy1029 at gmail.com>: >> >>> Hello, >>> >>> I'm writing a packet capture program from the l3fwd. When I send DNS >>> packets, the wireshark simultaneously gets all the packets on two ports. >>> However, using my program with promiscuous mode, one port receives all >>> the >>> packets, but the other port gets nothing. Do you know why it happens? >>> Could >>> it be network topology problem using DPDK, a DPDK design like forwarding >>> mechanism, or just my program bugs? Any comments would be appreciated. >>> >>> Thanks, >>> Daeyoung >>> >> >> >