[PATCH v3 3/4] ipq40xx: fix compatibility with linux-atm tools

Martin Schiller ms at dev.tdt.de
Mon Jan 13 00:17:18 PST 2025


On 2025-01-12 15:09, Sergey Ryazanov wrote:
> atm_qos struct should be the same both for user and kernel spaces. Via
> the __SO_ENCODE() macro it is used to define the SO_ATMQOS socket IOC.
> 
> During the VRX518 support introduction, the atm_trafprm sturct nested
> into the atm_qos stucture was update with newer fields that are
> referenced by the ATM TC layer of the VRX518 TC driver. These new 
> fields
> are intended to communicate information for extra traffic classes
> supported by the driver. But we are still using vanilla kernel headers
> to build the toolchain. Due to the atm.h header incoherency br2684ctl
> from linux-atm tools is incapable to configure the ATM bridge netdev:
> 
>   br2684ctl: Interface "dsl0" created sucessfully
>   br2684ctl: Communicating over ATM 0.1.2, encapsulation: LLC
>   br2684ctl: setsockopt SO_ATMQOS 22 <-- EINVAL errno
>   br2684ctl: Fatal: failed to connect on socket; File descriptor in bad 
> state

Hmmm... I have fixed this problem in the past by including the
"user_headers". See commit e53ed6af8744 (“linux-atm: use target specific
kernel headers”) [1]. Felix suggested this to me in [2].
Does this no longer work?

> 
> There are two options to fix this incoherency. (a) update the header
> file in the toolchain to build linux-atm against updated atm_trafprm 
> and
> atm_qos structures, or (b) revert atm_trafprm changes.
> 
...

[1] 
https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=e53ed6af8744b588ca9da5f395b427a0b0d659ba
[2] 
http://lists.openwrt.org/pipermail/openwrt-devel/2023-July/041337.html



More information about the openwrt-devel mailing list