Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KernelTun: Use IFF_NO_PI on Linux, remove LINUX_ETHERTAP mode #397

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on May 2, 2018

  1. KernelTun: Use IFF_NO_PI on Linux, remove LINUX_ETHERTAP mode

    This commit adds flag IFF_NO_PI to tun/tap interface settings on Linux.
    It flag changes frame format in order not to include protocol
    information header. That is, with this flag, frames received/send from
    tun/tap fd consist solely of raw underlying protocol (Ethernet/IP)
    frames.
    
    Protocol information header is not used by the element in any way, but
    its presence adds a requirement for pulling packet data on receive and
    pushing it before writing packet to the fd. Such a push becomes an
    expensive push when there is is no enough headroom in packet, for
    example when using native netmap buffers which do not have headroom.
    
    Adding IFF_NO_PI flag eliminates the need for pulling and pushing
    packet data completely.
    
    Moreover, this commit removes support for LINUX_ETHERTAP mode. Ethertap
    driver was removed from the kernel more than 15 years ago. Removal of
    this mode significantly simplifies the logic within the element.
    piotrjurkiewicz committed May 2, 2018
    Configuration menu
    Copy the full SHA
    62432ff View commit details
    Browse the repository at this point in the history