Bug 35679

Summary: Изменилось поведение etcnet в плане vlan reorder_hdr
Product: Branch p8 Reporter: Anton Farygin <rider>
Component: etcnetAssignee: Alexey Shabalin <shaba>
Status: CLOSED FIXED QA Contact: Sergey Novikov <sotor>
Severity: major    
Priority: P3 CC: rider, shaba, taf
Version: не указана   
Hardware: all   
OS: Linux   

Description Anton Farygin 2018-11-30 09:07:35 MSK
После обновления перестал работать DHCP сервер, поднятый на vlan интерфейсе с физическим адаптером, работающем на igb драйвере.
Откат на предыдущую версию etcnet помогает решить эту проблему.

Виновато видимо отличие в поведении в плане reorder_hdr у vconfig и ip link vlan на ip:
                      reorder_hdr { on | off } - specifies whether ethernet headers are reordered or not (default is on).

                          If reorder_hdr is on then VLAN header will be not inserted immediately but only before passing to the physical device (if this
                          device does not support VLAN offloading), the similar on the RX direction - by default the packet will be untagged before being
                          received by VLAN device. Reordering allows to accelerate tagging on egress and to hide VLAN header on ingress so the packet
                          looks like regular Ethernet packet, at the same time it might be confusing for packet capture as the VLAN header does not exist
                          within the packet.

                          VLAN offloading can be checked by ethtool(8):

                              ethtool -k <phy_dev> | grep tx-vlan-offload

                          where <phy_dev> is the physical device to which VLAN device is bound.

на vconfig:
       set_flag [vlan-device] 0 | 1
              When 1 (the default since 2.6.18), ethernet header reorders are turned on.  Dumping the device will appear as a common ethernet device with‐
              out  vlans.  When  0  however, ethernet headers are not reordered, which results in vlan tagged packets when dumping the device. Usually the
              default gives no problems, but some packet filtering programs might have problems with it.

Нужно сделать так, что бы после обновления поведение существующей конфигурации не менялось, т.к. это приводит к неработоспобности установленных dhcp серверов.
Comment 1 Anton Farygin 2018-11-30 09:09:45 MSK
#  ethtool -k lan0| grep tx-vlan-offload
tx-vlan-offload: on

05:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
        Subsystem: Hewlett-Packard Company NC362i Integrated Dual port Gigabit Server Adapter
        Kernel driver in use: igb
05:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
        Subsystem: Hewlett-Packard Company NC362i Integrated Dual port Gigabit Server Adapter
        Kernel driver in use: igb
Comment 2 Alexei Takaseev 2018-12-01 10:04:07 MSK
(In reply to comment #0)
> После обновления перестал работать DHCP сервер, поднятый на vlan интерфейсе с
> физическим адаптером, работающем на igb драйвере.
> Откат на предыдущую версию etcnet помогает решить эту проблему.

Подтверждаю проблему, DHCP-сервер не работает на vlan-интерфейсах.
Заработало после того, как в /etc/net/ifaces/default/options-vlan явно прописал опцию "VLAN_REORDER_HDR=1".
Comment 3 Anton Farygin 2018-12-01 10:55:21 MSK
Алексей, давай сделаем такой дефолт, отменить который можно будет настройкой VLAN_REORDER_HDR=0
Что бы не ломать совместимость с существующими конфигурациями
Comment 4 Alexey Shabalin 2018-12-03 21:57:16 MSK
(В ответ на комментарий №3)
> Алексей, давай сделаем такой дефолт, отменить который можно будет настройкой
> VLAN_REORDER_HDR=0
> Что бы не ломать совместимость с существующими конфигурациями

в тестовом задании #217236
Comment 5 Anton Farygin 2018-12-11 09:29:31 MSK
Спасибо, сейчас всё работает.