<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>41368</bug_id>
          
          <creation_ts>2021-11-17 13:45:51 +0300</creation_ts>
          <short_desc>регрессия в работе моста с QinQ в 0.9.16-alt1</short_desc>
          <delta_ts>2021-11-24 20:08:45 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>etcnet</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Y. Afonin">asy</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>ldv</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>204981</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 13:45:51 +0300</bug_when>
    <thetext>При отказе от bridge-utils и переходе на iproute2 произошла регрессия. Если формировать мост из VLAN, то SVLAN срезается на исходящем трафике. Если смотреть tcpdump-ом, то выглядит это так:

ether0 in:
14:00:48.094532   B 00:1c:c0:18:fc:89 ethertype 802.1Q (0x8100), length 62: vlan 899, p 0, ethertype 802.1Q, vlan 900, p 0, ethertype ARP, Request who-has 10.10.10.253 tell 10.10.10.254, length 38

ether1 out:
14:00:48.094536   B 00:1c:c0:18:fc:89 ethertype 802.1Q (0x8100), length 58: vlan 900, p 0, ethertype ARP, Request who-has 10.10.10.253 tell 10.10.10.254, length 38

На выходе один тэг потерялся. С локальным интерфейсом на бридже ситуация выглядит аналогично, так что для воспроизведения достататочно двух устройств по идее. В p8 эта конструкция работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204982</commentid>
    <comment_count>1</comment_count>
      <attachid>9945</attachid>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 13:50:10 +0300</bug_when>
    <thetext>Created attachment 9945
пример конфигурации etcnet

Тут есть два интерфейса, bridge0.900 и ether0.899.900, которые НЕ должны быть активны одновременно. Если их по очереди поднимать, то с хоста, подключенного к ether0, bridge0.900 недоступен, ether0.899.900 доступен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204983</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-17 14:04:14 +0300</bug_when>
    <thetext>https://www.altlinux.org/Etcnet#Linux_bridge_%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%BE%D0%BC_iproute2_(%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8F_%D1%81_p9)

VLAN_AWARE=yes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204984</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-17 14:04:57 +0300</bug_when>
    <thetext>Это фича.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204985</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 14:39:16 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #1)

&gt; Тут есть два интерфейса, bridge0.900 и ether0.899.900, которые НЕ должны
&gt; быть активны одновременно. Если их по очереди поднимать, то с хоста,
&gt; подключенного к ether0, bridge0.900 недоступен, ether0.899.900 доступен.

Это ошибочный пример, к делу отношения не имеет, как выяснилось сейчас. Проверять надо на трёх устройствах. Описанный локальный пример лечится наличием VLAN_REORDER_HDR=1 в ether0.899/options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204986</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-17 14:40:48 +0300</bug_when>
    <thetext>Да, точно, и я же про него писал в документации, когда сам на такое поведение нарвался:
https://www.altlinux.org/Etcnet#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_VLAN</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204987</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 14:53:34 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #2)

&gt; VLAN_AWARE=yes

Если это написать в bridge0/options, то это только ломает работу локального интерфейса, которая чинится посредством VLAN_REORDER_HDR=1, и никак не влияет на транзит. Попытка добавить что-то вроде VIDS=&quot;2-4000&quot; тоже к нужному результату не приводит. Пока переоткрою, так как решения для транзитного трафика пока не вижу.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204989</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 15:49:36 +0300</bug_when>
    <thetext>(In reply to Sergey Y. Afonin from comment #4)

&gt; &gt; Тут есть два интерфейса, bridge0.900 и ether0.899.900, которые НЕ должны
&gt; &gt; быть активны одновременно. Если их по очереди поднимать, то с хоста,
&gt; &gt; подключенного к ether0, bridge0.900 недоступен, ether0.899.900 доступен.
&gt; 
&gt; Это ошибочный пример, к делу отношения не имеет

Нет, не ошибочный. Я просто забыл, что третий хост, как и промежуточный, тоже на p10, и там тоже надо VLAN_REORDER_HDR=1. Надо было внимательнее в вывод tcpdump смотреть.

Однако регрессия, всё же есть, в виде этого VLAN_REORDER_HDR=0 по умолчанию. Точнее была замена 

is_no &quot;$VLAN_REORDER_HDR&quot; &amp;&amp; VLAN_REORDER_PARAM=&quot;reorder_hdr off&quot; || VLAN_REORDER_PARAM=&quot;reorder_hdr on&quot;

на 
is_yes &quot;$VLAN_REORDER_HDR&quot; &amp;&amp; VLAN_REORDER_PARAM=&quot;reorder_hdr on&quot; || VLAN_REORDER_PARAM=&quot;reorder_hdr off&quot;

А зачем? Всё же работало?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204996</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 17:29:50 +0300</bug_when>
    <thetext>bridge-utils не при чём значит, и minor заодно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204998</commentid>
    <comment_count>9</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-17 17:59:49 +0300</bug_when>
    <thetext>Это уже два релиза бранчей, я тоже возмущался.

Было/стало так потому что в iproute другой дефолт. Теперь этот новый default уже стал стандартом с p9, обратно откатывать себе дороже.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205001</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-17 21:10:01 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #9)

&gt; Было/стало так потому что в iproute другой дефолт.
&gt; Теперь этот новый default уже стал стандартом с p9

А какие преимущества этот дефолт даёт, и что сломаестся от его смены?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205005</commentid>
    <comment_count>11</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-18 08:36:10 +0300</bug_when>
    <thetext>Сломаются существующие конфигурации.

Преимущества и недостатки врятли можно рассматривать. Надо учитывать, что это полярные точки зрения на данную опцию.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205006</commentid>
    <comment_count>12</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-18 09:05:55 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #11)

&gt; Сломаются существующие конфигурации.

Так а какие? Где реально надо убирать VLAN ID у исходящего трафика? По ссылке из Comment 5 в примере, как раз, VLAN_REORDER_HDR=0, но зачем? У меня и с VLAN_REORDER_HDR=1 этот вариант конфигурации работает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205007</commentid>
    <comment_count>13</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-18 09:11:36 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #9)

&gt; Было/стало так потому что в iproute другой дефолт.

Так, то есть это изменение связано с &quot;use ip utility for vlan interface types&quot; в 0.9.16-alt1. Что ещё и VLAN иначе начали делаться я что-то тоже пропустил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205011</commentid>
    <comment_count>14</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-18 09:25:01 +0300</bug_when>
    <thetext>(Ответ для Sergey Y. Afonin на комментарий #12)
&gt; (In reply to Anton Farygin from comment #11)
&gt; 
&gt; &gt; Сломаются существующие конфигурации.
&gt; 
&gt; Так а какие? Где реально надо убирать VLAN ID у исходящего трафика? По
&gt; ссылке из Comment 5 в примере, как раз, VLAN_REORDER_HDR=0, но зачем? У меня
&gt; и с VLAN_REORDER_HDR=1 этот вариант конфигурации работает.

Все существующие конфигурации, в которых не нужно использование REORDER_HDR</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205012</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2021-11-18 10:09:06 +0300</bug_when>
    <thetext>(In reply to Anton Farygin from comment #14)

&gt; Все существующие конфигурации, в которых не нужно использование REORDER_HDR

Логично. :-) Но хотелось бы пример. До p9, когда это было включено, я вообще про этот параметр не знал, всё всегда работало.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205013</commentid>
    <comment_count>16</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-11-18 10:38:39 +0300</bug_when>
    <thetext>Давай спросим у автора изменения bd74a577 Алексея Шабалина.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205278</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2021-11-24 20:08:45 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #16)
&gt; Давай спросим у автора изменения bd74a577 Алексея Шабалина.

Потому что REORDER_HDR нужен в редких случаях, и влияет на производительность.

REORDER_HDR  When this is set, the VLAN device will move the
            ethernet header around to make it look exactly like a real
            ethernet device.  This may help programs such as DHCPd which
            read the raw ethernet packet and make assumptions about the
            location of bytes.  If you don&apos;t need it, don&apos;t turn it on, because
            there will be at least a small performance degradation.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>9945</attachid>
            <date>2021-11-17 13:50:10 +0300</date>
            <delta_ts>2021-11-17 13:50:10 +0300</delta_ts>
            <desc>пример конфигурации etcnet</desc>
            <filename>etcnet-bri-qinq.tgz</filename>
            <type>application/gzip</type>
            <size>821</size>
            <attacher name="Sergey Y. Afonin">asy</attacher>
            
              <data encoding="base64">H4sIAAAAAAAAA+2cS2vbQBSFs/av8C47Z+4864UXDQ40UOpCTKFLB5vWNLWCH/n9nRkrtionlRU8
N6p1PgIWSUCCM3fmnJkr3y/n0x8zcXWREOFxxsRPT/kzXpMmbSQJp/3viYS1F12T8qGe2azWk2W3
e7HMsvW//q/q7/8p97n+88cnPZlOl7PV6uT3CAJbrV/Xn1yuf7hUXn8llddfnPxJXqDl+pPohZ+e
NOpK6s57Pw5g5rn+s8f1PFucvvYDlfVvZWn+l0ZI1D8Hw9u7j9efb4aDRdYZf/96M/ADovNpdDce
XM7WP2dL0fvQ73fjJYXLS0wRZ0Ve/72+SOcBj/d/QihHwf8pp+H/OCjqHzzgMtusZye+R+X8H/RX
zpB0VpGM/s8KzP8clPVPkQEq9Zfl+ldGOejPQe7/BQJAOynWf6oMUO3/zbb+ySpp4vwvJKH+ORh9
uR6NxsH9HySBp4fJYhsF8kHS+XY7HPiBgknifPh7/X+YL36d/h7V+3+0W/+l0DH/O/g/Fn6vN10y
qOm2st3kSXr8Uy//y+D/hVMK+Z+DXP9U0T9SP/9LKzXmfw4K+qc6/qunf1z/FRH0ZyHXP+XxzxH7
Pz7/KastCe10rH/lIyH0Z+Ag9fkBAS/YHnbzf5roF6mT/xTZUP+kkf9YyPMfNn5byv6QP10GPD7/
kbAm1L93gg75j4OC/skyYP38p8jA/7NQ0j9JBnxD/tMa+rNQ0D9ZBqzU3+o4/2sntVXR/zns//Bw
1PnfdpDE4z8/UGAVz4h9/adrAazj/5wI6z8Zh/c/WCjpn8QDvsH/+XUA8z8HL+h/cg9Yqf9h/1/Y
Bob+DKD/r92U6j9JBqisf1de/5Uk9P+xUMP/h0GCFsAz42D9T3AOVFn/h/1/zsH/sYD+v3azfbOz
Qf1/8fw3vgaM/M9Arn/z+v/Q/8NCQf9m9f9BfxZy/ZvX/4fvf2EB/X/tZjf/N63/D/s/LKD/r93s
v9mnGf1/Bv1/rBT0b1b/H/w/CyX9m9P/B/1ZKOj/7v1/hqyf98W2/w/+j4Xjz/8I/X8AAAAAAAAA
AAAAAAAAAAAAAABAQ/kDGYMYSAB4AAA=
</data>

          </attachment>
      

    </bug>

</bugzilla>