Совместимость с xt_TEE

Send your patches here
Post Reply
stasn77
Posts: 8
Joined: 02 Mar 2016, 15:21

Совместимость с xt_TEE

Post by stasn77 »

При использовании зеркалирования трафика при помощи -j TEE пакеты 2 раза пролетают через модуль ipoe и все интерфейсы соответственно.

До версии ядра 4.2 сделать "красиво" было проблематично - приходилось или в TEE метить пакеты IPOE_MAGIC'ом или коментировать в ipoe код, необходимый, в принципе, только для L3 режима.

Code: Select all

--- a/drivers/ipoe/ipoe.c.orig  2016-03-07 10:10:21.163000000 +0000
+++ b/drivers/ipoe/ipoe.c       2016-03-07 10:10:01.596000000 +0000
@@ -904,6 +904,11 @@
        if (skb->protocol != htons(ETH_P_IP))
                return NF_ACCEPT;

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
+       if (this_cpu_read(nf_skb_duplicated))
+               return NF_ACCEPT;
+#endif
+
        cb_ptr = skb->cb + sizeof(skb->cb) - 2;
        if (*(__u16 *)cb_ptr == IPOE_MAGIC)
                return NF_ACCEPT;
Attachments
ipoe_tee42.patch.gz
(317 Bytes) Downloaded 202 times
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Совместимость с xt_TEE

Post by Dmitry »

какое правило iptables задаётся ?
stasn77
Posts: 8
Joined: 02 Mar 2016, 15:21

Re: Совместимость с xt_TEE

Post by stasn77 »

-t mangle -A FORWARD -j TEE --gateway some_ip --oif some_dev

Я уже давно писал тут о проблеме этой, потом как-то сам модуль xt_TEE пропатчил что бы он свои дубли метил "маджиком" и забыл.
А в 4.2 в ядре переделали схему и вынесли "наружу" этот признак того, что трафик это дубль от TEE. Ну я свой патчик убрал из ядра и пропатчил accel_ipoe.
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Совместимость с xt_TEE

Post by Dmitry »

ясно, я планирую немного переделать как L3 работает
а там посмотрим, может быть этот костыль не нужен будет
Post Reply