> On Dec. 11, 2015, 1:16 a.m., David Robinson wrote: > > src/slave/containerizer/mesos/isolators/network/port_mapping.cpp, lines > > 1097-1098 > > <https://reviews.apache.org/r/41158/diff/1/?file=1157658#file1157658line1097> > > > > This writes to stderr, which can end up in the logs. > > > > [root@server ~]# ethtool --version 1> /dev/null > > ethtool version 6 > > Usage: > > ethtool DEVNAME Display standard information about device > > > > > > Log snippet: > > > > I1211 01:05:13.215730 10885 main.cpp:190] Build: 2015-12-10 22:54:33 by > > mockbuild > > I1211 01:05:13.215859 10885 main.cpp:192] Version: 0.26.0-tw5 > > I1211 01:05:13.215996 10885 containerizer.cpp:142] Using isolation: > > cgroups/cpu,cgroups/mem,network/port_mapping,posix/disk,cgroups/perf_event,filesystem/posix > > ethtool version 6 > > Usage: > > ethtool DEVNAME Display standard information about device > > I1211 01:05:13.251729 10885 port_mapping.cpp:1255] Using eth0 as the > > public interface > > I1211 01:05:13.252707 10885 port_mapping.cpp:1280] Using lo as the > > loopback interface
Ah, yet another difference on Fedora... $ ethtool --version | grep v ethtool version 3.8 Let me fix it. - Cong ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/41158/#review109903 ----------------------------------------------------------- On Dec. 9, 2015, 11:15 p.m., Cong Wang wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/41158/ > ----------------------------------------------------------- > > (Updated Dec. 9, 2015, 11:15 p.m.) > > > Review request for mesos, Ian Downes and Jie Yu. > > > Bugs: MESOS-4105 > https://issues.apache.org/jira/browse/MESOS-4105 > > > Repository: mesos > > > Description > ------- > > We noticed that in some cases we delivered some corrupt packets to > applications running in our containers. This is clearly wrong. > > Here is what happens: > > 1) We receive a corrupt packet externally > 2) The hardware driver is able to checksum it and notices it has a bad > checksum > 3) The driver delivers this packet anyway to wait for TCP layer to checksum > it again and then drop it > 4) This packet is moved to a veth interface because it is for a container > 5) Both sides of the veth pair have RX checksum offloading by default > 6) The veth_xmit() marks the packet's checksum as UNNECESSARY since its peer > device has rx checksum offloading > 7) Packet is moved into the container TCP/IP stack > 8) TCP layer is not going to checksum it since it is not necessary > 9) The packet gets delivered to application layer > > > Diffs > ----- > > src/slave/containerizer/mesos/isolators/network/port_mapping.cpp > 89bb36f936417de8169a2442729fbd7c9d60acb7 > > Diff: https://reviews.apache.org/r/41158/diff/ > > > Testing > ------- > > 1) Turn rx checksum off manually and the bug is gone > 2) Test this patch and verify rx checksum is turned off as expected. > 3) I don't see any noticable performance issue after turning this off > > > Thanks, > > Cong Wang > >
