Giter Site home page Giter Site logo

bisdn-linux's People

Contributors

hilmarm avatar ideaship avatar jklare avatar kanjimonster avatar rubensfig avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

ferrywu

bisdn-linux's Issues

Make adding new platform support easier

The most difficult part for ONL supported platforms is making the code compile with GCC 12 and Linux kernel 6.1. To reduce the amount of work required for extending BISDN Linux support, it would be nice to have those already present as ready to use, and only requiring the "soft" conversions which can be tested on device, i.e. updating the platform init script, OF-DPA configuration and installer.

  • Split platform libraries out of onlp package
  • enable additional platforms build as installable packages

Enable (optional) CVE reporting for the build

Yocto allows CVE checking during the build, so let's make use of that to get a better understanding of security issues affecting BISDN Linux.

  • Update Kernel recipes with fixed CVEs.
  • Check our recipes for missing CPE IDs
  • Add fixed CVEs for the changelog

import custom_led.bin binaries from SONiC

To reduce the need for embedded custom_led.bin binaries in OF-DPA, add support for importing these from the SONiC project, and add them for the Edgecore platforms we support.

There is no binary for the Celestica Questone 2A available, so that one still needs one embedded.

AS4610: Install fails with previous ONL install

I'm seeing the following on as AS4610 switch that had a prior ONL install:

ONIE: Executing installer: http://repo.bisdn.de/pub/onie/accton-as4610/onie-bisdn-accton-as4610-v4.8.1.bin
Image build date: 2022-10-05
Verifying image checksum ... OK.
Preparing image archive ... OK.
DEBUG: onl_platform=arm-accton-as4610-54-r0
DEBUG: onl_baseplatform=arm-accton-as4610-54
BISDN Linux Installer
DEBUG: onie_partition_type=gpt
DEBUG: firmware=u-boot
removing partition 1 (Linux)
removing partition 2 (Linux)
removing partition 3 (Linux)
removing partition 4 (Linux)
Creating new BISDN Linux gpt partition /dev/sda5 ...
Could not create partition 5 from 34 to 12582945
Unable to set partition 5's name to 'BISDN-Linux'!
Error encountered; not saving changes.
Error: Unable to create partition 5 on /dev/sda
Failure: Unable to install image: http://repo.bisdn.de/pub/onie/accton-as4610/onie-bisdn-accton-as4610-v4.8.1.bin

The partition layout is:

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          262143   127.0 MiB   8300  Linux filesystem
   2          262144          524287   128.0 MiB   8300  Linux filesystem
   3          524288         2621439   1024.0 MiB  8300  Linux filesystem
   4         2621440        15720447   6.2 GiB     8300  Linux filesystem

Switch was recognized as AS4610-30 instead of AS4610-54 in bisdn linux 5.1

Hi,

with bisdn linux 5.1 my switch was recognized as AS4610-30 instead of AS4610-54. This caused the interface not to come up. I changed /etc/onl/platform from "arm-accton-as4610-30-r0" to "arm-accton-as4610-54-r0" manually. That resolved the issue.

onlpdump -o
Product Name: 4610-54T-O-AC-B
Part Number: F0PEC4654004Z
MAC Range: 55
Manufacturer: Accton
Manufacture Date: 03/17/2019 04:52:33
Vendor: Edgecore
Platform Name: arm-accton_as4610_30-r0
Label Revision: R01A
Country Code: CN
Diag Version: 001.9
ONIE Version: 2016.05.00.04

Best regards,

GM

Switch to Linux 6.6 (LTS)

Now that then ext LTS kernel has been announced, we should switch to it.

  • Add support for 6.6
  • Switch to 6.6

Stacked VLAN support (QinQ)

Currently stacked VLANs are not configurable and not working properly, see https://docs.bisdn.de/network_configuration/vlan_bridging_qinq.html#stacked-vlan-support for details.

For proper expected behavior, we need to update/enhance baseboxd to handle stacked VLAN devices/bridges.

[ ] support stacked VLAN interfaces, e.g. port1.2.3
[ ] support VLAN interfaces as bridge members, to automatically en-/decapsulate traffic with an extra tag on that port
[ ] support stacked vlan aware bridges?

bisdn linux 5.1: package python3-appdirs missing in repository

The package python3-appdirs is missing in the bisdn linux 5.1 repository although some other python packages depend on it. The consequence is that the latter cannot be installed.

    • nothing provides python3-appdirs needed by python3-twisted-core-22.2.0-r0.cortexa9-vfp

Best regards,

GM

4.8.1 -> 4.8.2 Upgrade fails

Existing installation found!
creating backup of existing configuration
rmdir: '/tmp/tmp.vXru01/etc/systemd': No such file or directory
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
Error: Partition(s) 3 on /dev/sda have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You should reboot now before making further changes.
Failure: Unable to install image: http://repo.bisdn.de/pub/onie/accton-as4610/onie-bisdn-accton-as4610-v4.8.2.bin

It does work the second time, but of course this is problematic for unattended upgrade.

proper MSTP support via in-kernel MSTI support

Linux recently (in 5.18) added support for defining MSTIs in the kernel as vlan groups for STP (skipping the FID part).

Using that, we can simplify the mstp support, and do not need a stg group per vlan anymore.

To be able to do that, we will require changes in various components:

  • kernel: notify about msti stp changes. Currently these are kept in-kernel, for switchdev only. To allow baseboxd to pick this up we need to have them send out via netlink.
  • libnl: pick up and expose msti stp changes. As above.
  • libnl: pick up expose global vlan options. For baseboxd to know which VIDs are members of which MSTIs, we need to be notified about their membership (changes).
  • baseboxd: pick up and configure MSTs based on the received libnl changes. This will also need a way of knowing if we are in PVSTP or MST mode, as the port STP meaning changes.
  • mstpd: implement setting MSTI memberships for vlans for mst enabled bridges. Will require using similar code like the current PVSTP implementation, as you cannot set port states for non-existing MSTIs, and you can only assign existing vlans to MSTIs.

Additionally, we will also want

  • iproute2: add mst support (apply the patches from https://github.com/wkz/iproute2/tree/mst)
  • systemd-networkd: allow creating bridges in mst enabled mode The mst mode can only be changed when there are no vlans defined on a bridge, so when using systemd-networkd we need to create them in this mode before configuring any vlans.

Provide downloadable packages for various use-cases

Currently any downloadable extra package is more of a side effect of Yocto recipes providing multiple packages when only one is requested to be installed.

To provide support for different use cases, we should actually provide a curated list of additional packages to install.

Update FRR to 9.0

Our FRR version is getting out of date, so let's investigate if we can update to 9.0 (latest).

  • Import FRR recipe for 9.0 from meta-openembedded master (if it exists)
  • If not, create one ourselves and upstream it
  • Ensure all tests work as expected

replace repo with kas

There is a repo like utility for managing bitbake projects, might be interesting to use as an alternative: https://github.com/siemens/kas.

Especially since it offers setting up a build environment and building, so could replace several open coded steps in the build process.

allow fans of delta ag7648 to be controlled

currently the fans are only exposed through onlp and configured through raw i2c calls.

The fan controller seems to be a max6639 chip, for which an in-kernel driver exists. The source code comment says max6620, but the register macros names and contents match the max6639 driver's, not the max6620.

Loading the driver to the appropriate register should allow configuring the fans without much effort.

According to the platform i2c library the chips are a at I2C bus 3, addresses 0x2a and 0x29.

Switch to Yocto 5.0 (LTS)

Yocto 5.0 (Scarthgap) is planned to be the next LTS release, and is planned for April 24. To keep up to date, we should work on switching to it once it nears the release.

let the installer use all available space

The installer currently uses a fixed partition size of 6 GiB. But depending on the machine, there might a larger SDD included, so it would be nice to be able to make use of it.

So let the installer instead span the BISDN Linux partion the whole available space instead.

Cleanup and merge PoE drivers

There's currently a lot of duplication between the two PoE drivers for AS4610 and AS4630. Fix this by moving common code into a library function, reducing code duplication and making improvments and fixing things esier.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.