bisdn / bisdn-linux Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
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.
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
.
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.
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.
Docker is broken in for arm due to go linker changes.
We recently had a problem with an ACL table rule that was left by switch_tcpdump after it was interrupted by the user.
There are several other issues with the script that should be fixed. For instance, the script should default to --stdout
instead of insisting that either --stdout
or --filePath
be passed as arguments. Also, additional tcpdump options should be supported.
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?
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.
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.
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.
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
libnl 3.8 was recently released, so lets update it.
Our FRR version is getting out of date, so let's investigate if we can update to 9.0 (latest).
Now that then ext LTS kernel has been announced, we should switch to it.
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.
If you install the net-snmp-server package on the switch you can poll general switch information but the switch port TAP interfaces does not pass bandwidth usage info over from the Switch ASIC. I am using a Accton 4610-54p for reference. Would there be a way of adding a SNMP extend to poll switch port usage info?
Surprisingly PRs are getting merged into ONL again, so let's update our recipe to the new version, which allows us dropping accepted patches.
To allow users to easily test the default switch functionality directly after installing the switch via ONIE and without the hassle of manually adding any configuration files, it might be useful to build in a simple option to make the switch a simple L2 learning one. To keep the amount of configuration small and easy for later removal (in case the user decides to go with something handmade and more complicated), we should probably only genrate a minimal bridge configuration (.netdev and .network) and only one wildcard matching port configuration (.network with Name=port*
) to bring all ports up and attach them to the bridge. To clearly mark all files as autogenerated, we could use a specifc pre- or suffix for all files (e.g. *_bisdn-autogen*
), which could also be used later to remove them in a scripted way. The easiest way to add this functionality i can think of right now, would be to write a simple script (e.g. bisdn-init-l2-learning-config
), make it executable and add it to the same folder as our other scripts (onie-bisdn-upgrade
and so on). To allow easy cleanup, we could add an option to the script (e.g. --clean
) to remove the files. To show the user which files are generated before they are actually placed in the folder, another option like --dry-run
might be useful as well.
Currently, we write the line basebox ALL=(ALL) ALL
into /etc/sudoers.d/basebox
[1].
This is not sufficient if we want to use the basebox user with password-less sudo. Even if added the user to the sudo group and gave members of the sudo group password-less sudo, the file specifically for the basebox user would take precedence. Do we want to change the current default in BISDN Linux?
Also, having basebox
and basebox.default
lying around in /etc/sudoers.d/
(presumably upgrade artifacts) is confusing; we should consider cleaning that up.
[1] https://github.com/bisdn/meta-switch/blob/main/recipes-core/basebox-user/basebox-user.bb
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.
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:
Additionally, we will also want
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.
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.
Best regards,
GM
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.