• Willem de Bruijn's avatar
    test: add msg_zerocopy test · 07b65c5b
    Willem de Bruijn authored
    Introduce regression test for msg_zerocopy feature. Send traffic from
    one process to another with and without zerocopy.
    
    Evaluate tcp, udp, raw and packet sockets, including variants
    - udp: corking and corking with mixed copy/zerocopy calls
    - raw: with and without hdrincl
    - packet: at both raw and dgram level
    
    Test on both ipv4 and ipv6, optionally with ethtool changes to
    disable scatter-gather, tx checksum or tso offload. All of these
    can affect zerocopy behavior.
    
    The regression test can be run on a single machine if over a veth
    pair. Then skb_orphan_frags_rx must be modified to be identical to
    skb_orphan_frags to allow forwarding zerocopy locally.
    
    The msg_zerocopy.sh script will setup the veth pair in network
    namespaces and run all tests.
    Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    07b65c5b
msg_zerocopy.c 15.9 KB