»» не в блобы ip_tables, а в байткод nf_tables
а вот эту разницу я осилить не смог ((
правила в iptables представляют собой большую последовательность байт, концептуально состоящую из одного или нескольких match-ей (проверок, сопоставлений) и target-а (действия, которое нужно выполнить, если пакет подходит под правило). При проверки того, что пакет подходит под правило, происходит что-то вроде этого: берём определённые байты, по ним определяем, что это за сопоставление (match), вызываем функцию из соответствующего модуля, передавая туда текущий пакет и элементы текущего правила. Если эта функция вернула положительный результат, то переходим к следующему match-у текущего правила или если их не осталось, то к действию (target), и выполняем его (снова вызывая функцию и передавая туда данные). В nftables в ядро заливается байт-код для виртуальной машины. Тут уже не нужно ползать по элементам правил вызывая функции из модулей и передавая в них что-то, а просто ВМ выполняет байт-код, что чуть быстрее будет.