Обратитесь к коду ловушки Netfilter на этой странице.
Проверяемый порт объявляется как:
/* Port we want to drop packets on */
static const uint16_t port = 25;
Сравнение производится так:
return (tcph->dest == port) ? NF_DROP : NF_ACCEPT;
В случае, если переменная port имеет тип int32, как мы можем преобразовать ее в uint16_t, чтобы ее можно было проверить на соответствие tcph->dest.
Спасибо.