Глядя на tcpreplay
источник , нашел идею использовать PF_PACKET вместо AF_INET + SOCK_RAW.
Однако из существующей документации невозможно определить, может ли PF_PACKET отправлять необработанный IP-пакет, не заполняя часть пакета Ethernet.
Это вопрос производительности - долгоживущее приложение будет потеряно при большом поиске в кэше ARP и / или запросах, поэтому потеря ожидаемого прироста производительности будет потеряна; тем не менее, я хочу отправлять необработанные пакеты быстрее, чем разрешено семейством SOCK_RAW - что является серьезным источником проблем с обработкой TCP_NODELAY.