Ага, кто-то начитался жёлтой прессы. Посмотри код - операции все равно выполняются в модулях. xt_nat, nf_log, xt_CT
А это и есть интерфейсы к тем самым ручкам ядра, о которых я написал чуть выше. Естессно что из байткода в коннтрак не сгонять напрямую, сделаны ручки в xt_nat. Но вот матчинг по содержимому пакета расширяется юзерспейсовой утилитой.