Joachim WibergandTobias Waldekranz 10ec9089bc Initial support for Nanopi R2S from FriendlyELEC
Support for this is based on the upstream Buildroot R2S defconfig and
the myLinux extensions and stripped-down kernel defconfig.  For more
information about the Nanopi R2S, see the FriendlyELC wiki at:

    https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R2S

Please note, due to the lack of a VPD on the board, and some very poor
devicetree skills by yours truly, Infix currently refuse to boot on this
board.  An in-devicetree factory-password-hash node has to be added, and
will be done soon.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-01-22 11:20:01 +01:00
2024-01-18 14:20:13 +01:00
2024-01-15 16:29:06 +01:00
2022-12-05 21:09:05 +01:00

License Badge Coverity Status Infix - Linux <3 NETCONF

Documentation

Infix is a Linux Network Operating System (NOS) based on Buildroot, and sysrepo. A powerful mix that ease porting to different platforms, simplify long-term maintenance, and provide made-easy management using NETCONF1 (remote) or the built-in command line interface (CLI) (click the foldout for an example).

Example CLI Session

The CLI configure context is automatically generated from the loaded YANG models and their corresponding sysrepo plugins. The following is brief example of how to set the IP address of an interface:

admin@infix-12-34-56:/> configure
admin@infix-12-34-56:/config/> edit interface eth0
admin@infix-12-34-56:/config/interface/eth0/> set ipv4 <TAB>
      address     autoconf bind-ni-name      enabled
	  forwarding  mtu      neighbor
admin@infix-12-34-56:/config/interface/eth0/> set ipv4 address 192.168.2.200 prefix-length 24
admin@infix-12-34-56:/config/interface/eth0/> show
type ethernet;
ipv4 {
  address 192.168.2.200 {
    prefix-length 24;
  }
}
ipv6
admin@infix-12-34-56:/config/interface/eth0/> diff
interfaces {
  interface eth0 {
+    ipv4 {
+      address 192.168.2.200 {
+        prefix-length 24;
+      }
+    }
  }
}
admin@infix-12-34-56:/config/interface/eth0/> leave
admin@infix-12-34-56:/> show interfaces
INTERFACE       PROTOCOL   STATE       DATA
eth0            ethernet   UP          52:54:00:12:34:56
                ipv4                   192.168.2.200/24 (static)
                ipv6                   fe80::5054:ff:fe12:3456/64 (link-layer)
lo              ethernet   UP          00:00:00:00:00:00
                ipv4                   127.0.0.1/8 (static)
                ipv6                   ::1/128 (static)
admin@infix-12-34-56:/> copy running-config startup-config

Click here for more details.

Infix can run on many different types of architectures and boards, much thanks to Linux and Buildroot. Currently the focus is on 64-bit ARM devices, optionally with switching fabric supported by Linux switchdev. The following boards are fully supported:

  • Marvell CN9130 CRB
  • Marvell EspressoBIN
  • Microchip SparX-5i PCB135 (eMMC)

An x86_64 build is also available, primarily intended for development and testing, but can also be used for evaluation and demo purposes. For more information, see: Infix in Virtual Environments.

See the GitHub Releases page for our pre-built images. The Latest Build has the bleeding edge images, if possible we recommend using a versioned release.

For customer specific builds of Infix, see your product repository.


  1. NETCONF or RESTCONF, https://datatracker.ietf.org/doc/html/rfc8040, for more information, see Infix Variants. ↩︎

Languages
Python 36.9%
C 16.3%
Go 16.1%
HTML 13.5%
Shell 8.2%
Other 8.9%