Bugzilla – Bug 1430
possible bug with tap and 64-bit machines
Last modified: 2012-08-24 14:18:34 EDT
saved from mailing list on 2/7/12 from Luca Costantino: hi all two nodes are given, connected by a csma link. first node has ip 10.0.0.1/24, second node has ip 10.0.0.2/24. on second node a tapbridge in installed. real machine has ip 10.0.0.3/24 i install a simple udp client application that sends data from 10.0.0.1 (inside ns3) to 10.0.0.3 (outside ns3) through 10.0.0.2 tap (inside ns3). everything works fine on a 32 bit machine, same code doesn't work on a 64 bit machine problem is in arp resolution (i think) here an excerpt from pcap generated on 32 bit machine reading from file udp-echo-0-0.pcap, link-type EN10MB (Ethernet) 1.000000 ARP, Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 10.0.0.1, length 50 1.003508 ARP, Reply 10.0.0.3 is-at 00:00:00:00:00:02, length 50 6.003032 ARP, Request who-has 10.0.0.1 tell 10.0.0.2, length 50 6.003032 ARP, Reply 10.0.0.1 is-at 00:00:00:00:00:01, length 5 and here an excerpt from the pcap generated on the 64 bit machine reading from file udp-echo-0-0.pcap, link-type EN10MB (Ethernet) 24 1.000000 ARP, Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 10.0.0.1, length 50 2.000000 ARP, Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 10.0.0.1, length 50 3.000000 ARP, Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 10.0.0.1, length 50 4.000000 ARP, Request who-has 10.0.0.3 (ff:ff:ff:ff:ff:ff) tell 10.0.0.1, length 50 two questions... 1) is this "bug" reproducible on someone else's machine too? 2) is it normal that arping 10.0.0.3, which has a REAL mac address, results in having the tap's mac address? regards luca
Created attachment 1398 [details] test case to reproduce Luca's provided test case
(In reply to comment #1) > Created attachment 1398 [details] > test case to reproduce > > Luca's provided test case Is the rp_filter setting the same on both systems? For example, see the output of: sysctl -a 2> /dev/null | grep '\(all\|default\)\.rp_filter' The described behavior seems consistent with rp_filter being enabled on the 64-bit system and disabled on the 32-bit system. It would also help to clarify what interface is assigned 10.0.0.3/24. It seems that the tapOutput interface created by the test case has the address 10.0.0.2/24.