-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/41158/#review109903
-----------------------------------------------------------



src/slave/containerizer/mesos/isolators/network/port_mapping.cpp (lines 1097 - 
1098)
<https://reviews.apache.org/r/41158/#comment169582>

    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


- David Robinson


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
> 
>

Reply via email to