Age | Commit message (Collapse) | Author |
|
During testing it was discovered that there is a well known problem (we had for
ethernet interfaces) also in the serial port world. They will be enumerated and
mapped to /dev/ttyUSBxxx differently from boot to boot. This is especially
painful on my development APU4 board which also has a Sierra Wireless MC7710
LTE module installed.
The serial port will toggle between ttyUSB2 and ttyUSB5 depending on the
amount of serial port extenders attached (FT4232H).
The shipped udev rule (/usr/lib/udev/rules.d/60-serial.rules) partly solves
this by enumerating the devices into /dev/serial/by-id folder with their name
and serial number - it's a very good idea but I've found that not all of the
FT4232H dongles have a serial number programmed - this leads to the situation
that when you plug in two cables with both having serial number 0 - only one
device symlink will appear - the previous one is always overwritten by the
latter one.
Derive /usr/lib/udev/rules.d/60-serial.rules and create a /dev/serial/by-bus
directory and group devices by attached USB root port.
vyos@vyos:~$ find /dev/serial/by-bus/ -name usb* -exec basename {} \; | sort
usb0b1.3p1.0
usb0b1.3p1.2
usb0b1.3p1.3
usb0b2.4p1.0
usb0b2.4p1.1
usb0b2.4p1.2
usb0b2.4p1.3
So we have USB root 0 with bus 1.3 and port 1.0. The enumeration is constant
accross reboots.
|
|
During testing it was discovered that on 5 out of 10 reboots the USB
enumeration/mapping from physical port to /dev/ttyUSB is different. The root
cause is that it's a FIFO so first found/loaded driver module will be assigned
ttyUSB0.
This mixed up the serial interfaces of my FTDI chips and my connected Sierra
Wireless MC7710 card which was no longer functioning as it now was mapped to
a different USB interface.
The solution is a udev rule which persistently maps the USB-tree-device to a
device file in /dev. Wait? isn't this what /dev/serial/by-{id,path} is for?
Correct, it does the very same thing but the problem is as follows:
* by-path uses device file names which also incorporate the parent bus system,
this results in "pci-0000:00:10.0-usb-0:2.4:1.0-port0"
* by-id will overwrite the assigned device symlink if a new USB device with the
same name appears. This happens to some FTDI devices with no serial number
programmed so the device added last wins and will be the only one in
the by-id folder - cruel world!
This commit adds a new directory /dev/serial/by-bus which holds the following
device files (as example):
$ ls -1 /dev/serial/by-bus/
usb0b1.3p1.0
usb0b1.3p1.2
usb0b1.3p1.3
usb0b2.4p1.0
usb0b2.4p1.1
usb0b2.4p1.2
usb0b2.4p1.3
|
|
|
|
Retrieving the CLI nodes from current config was missed out and only
implemented for PPPoE.
|
|
When DHCPv6-PD is configured to delegate a prefix to a non existing interface,
it is restarted (systemd default) but will then hit the restart rate-limit which
disables the service entirely.
As VyOS currently has no "hook" to be called once an interface goes online we
need this "try and error" approach until there is a way to deal with it. This
behavior can be reproduced when delegating an IPv6 prefix to a bridge interface
as a bridge interface will always be started after all interfaces have been
configured.
We will now restart dhcp6c as long as the requested interface is online.
|
|
openvpn: T2550: fix for IPv4 remote-host addresses
|
|
Commit bb9f998 added IPv6 support for OpenVPN, but IPv4 only
configurations stopped working (Address family for hostname not supported)
Commit fc467519 fixed some scenarios by using IPv4 protocols
if 'local-host' is IPv4 address, but the client mode is using
'remote-host' instead and was still broken.
This commit in addition to 'local-host' also checks all the
'remote-host' addresses.
|
|
|
|
bonding: T2527: delete the last interface from bond
|
|
|
|
|
|
|
|
|
|
Stopping and starting ddclient should only happen if the DNS dynamic service
is actually configured. In addition it should always be checked if the file
we try to delete really exists.
|
|
This is actually implemented as "update dns dynamic"
This reverts commit 968ea6284fe177aa0c3ace747e2027d151e2474e.
|
|
vyos@vyos:~$ restart dns dynamic
Dynamic DNS update service is not configured
|
|
airbag :T2088: make airbag explicit
|
|
airbag must now be explicitly installed.
the patch also allow to fully disables the installation of the logging
code at setup (and not just installing and doing nothing)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Some ISPs (e.g. Comcast) only delegate a /64 by default. You have to explicitly
"ask" for a bigger (e.g. /60) prefix. This commit adds a CLI node to request
a specific prefix length in the range 32 - 64.
dhcpv6-options {
prefix-delegation {
length 60
}
}
|
|
Rename the CLI nodes for prefix delegation from "dhcpv6-options delegate
<interface>" to "dhcpv6-options prefix-delegation interface <interface>".
The change is required to add the possibility to request for specific prefix
sized via the CLI. That option was not possible with the old configuration
tree.
|
|
Copy/paste error resulting in:
Traceback (most recent call last):
File "/usr/libexec/vyos/conf_mode/interfaces-ethernet.py", line 303, in <module>
apply(c)
File "/usr/libexec/vyos/conf_mode/interfaces-ethernet.py", line 205, in apply
e.dhcp.v6.options['dhcpv6_pd'] = e['dhcpv6_pd']
TypeError: 'EthernetIf' object is not subscriptable
|
|
|
|
|
|
|
|
|
|
|
|
* 'nat-integration' of github.com:c-po/vyos-1x:
nat: T2460: fix KeyError: 'sport'
nat: T2460: migrate to new Python implementation
nat: T2460: add src/op_mode/show_nat_translations.py
|
|
|
|
|
|
|
|
|
|
nat-integration
* 'T2460' of https://github.com/thomas-mangin/vyos-1x:
nat: T2460: add src/op_mode/show_nat_translations.py
|
|
|
|
|
|
Commit 39c53aadbf9e ("pppoe: T2488: remove logfile generation") accidently
missed a not in an if statement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|