В качестве дополнения к ответу pchaigno: аппаратная разгрузка здесь имеет мало общего. Он поддерживается как для программ XDP, так и для программ T C и обеспечит одинаковую производительность в обоих случаях.
Анализ пакетов в XDP и фильтрах сокетов / T C одинаков, поэтому если вы хотите производительность go для XDP, период. Причины НЕ ИСПОЛЬЗОВАТЬ XDP - это причины, указанные в pchaigno: больше помощников для T C, доступ к буферу сокетов. Или отсутствие поддержки XDP вашим драйвером (в этом случае generi c XDP должен обеспечить производительность, эквивалентную T C). Обратите внимание, что эти дополнительные помощники и доступ к буферу сокетов могут быть недоступны для программ, выгруженных на оборудование (в NFP Netronome программы, выгруженные из XDP и T C, ведут себя одинаково и имеют доступ к одному и тому же подмножеству помощников).
Не относится к мониторингу входящего пакета, но еще одним большим преимуществом T C на данный момент является возможность добавления фильтров на выходной стороне. На момент написания этой статьи ведется работа по поддержке этого для XDP, но ничего не объединено с ядром.