LINUX.ORG.RU

История изменений

Исправление vel, (текущая версия) :

Без явно заданной маски - нет.

Заглянул я в код net/netfilter/xt_mark.c

static unsigned int
mark_tg(struct sk_buff *skb, const struct xt_action_param *par)
{
        const struct xt_mark_tginfo2 *info = par->targinfo;

        skb->mark = (skb->mark & ~info->mask) ^ info->mark;
        return XT_CONTINUE;
}
Я слегка удивился.

Посмотрел код который в iptables, а там !!!

        case O_SET_XMARK:
                info->mark = cb->val.mark;
                info->mask = cb->val.mask;
                break;
        case O_SET_MARK:
                info->mark = cb->val.mark;
                info->mask = cb->val.mark | cb->val.mask;
                break;

Хацкеры блин...

Исходная версия vel, :

Без явно заданной маски - нет.

Заглянул я в код net/netfilter/xt_mark.c и слегка удивился

static unsigned int
mark_tg(struct sk_buff *skb, const struct xt_action_param *par)
{
        const struct xt_mark_tginfo2 *info = par->targinfo;

        skb->mark = (skb->mark & ~info->mask) ^ info->mark;
        return XT_CONTINUE;
}
Я слегка удивился.

Посмотрел код который в iptables, а там !!!

        case O_SET_XMARK:
                info->mark = cb->val.mark;
                info->mask = cb->val.mask;
                break;
        case O_SET_MARK:
                info->mark = cb->val.mark;
                info->mask = cb->val.mark | cb->val.mask;
                break;

Хацкеры блин...