Skip to content

LCS: Configuration enhancement request #732

Open
@PoC-dev

Description

@PoC-dev

I'm running Hyperion on (Debian) Linux, along with a bunch of Qemu virtual machines. My network topology is rather complex with public and private IP Vlans, and a bridged Vlan between Token Ring and Ethernet. This translates to having multiple preconfigured bridge devices on my machine where those Layer 2 components are tied together.

Currently, I preconfigure some tap devices for Hercules with the system provided network setup facilities, and refer to those with their names. This is outlined partly in README.SNA.

0E40    LCS  -e SNA tap0
0E41    LCS  -e SNA tap1
0E42.2  LCS  tap2

So, the taps are preconfigured and already assigned to the respective bridge devices after system boot.

On the pro side, this allows to use the user parameter of the ip command, to make tap devices owned by the user who eventually runs Hercules.

I have learned to like the -netdev parameter of Qemu a lot. This removes the necessity of preconfiguring tap devices, but creates tap devices dynamically, and assigns them to the given bridge device (internal LAN, external LAN, etc.) The drawback is that only root is allowed to assign taps to bridges. Since Qemu runs as root for other reasons, this isn't a big issue.

Example of a Qemu command parameter:

-netdev bridge,id=hercules-mvs,br=br0

Proposal

I'd love to see a likewise enhancement to the LCS configuration parameters. The following text might be added 1:1 to the documentation, should the feature request ever be considered.


-b bridgename or --bridge bridgename
where bridgename refers to a preconfigured bridge interface like br0.

-n and -b are mutually exclusive, and -m is honored. -o and guestip parameters are ignored.

Using -b makes Hercules being run as root mandatory.


Use case for this enhancement is that when my system is running as usual, many taps are defined. If I add another Hercules instance at this point, the next free tap device number is assigned after all those being creates by the Qemu instances.

After a reboot, that tap number is different, because statically defined in the network configuration, and established way before Qemu instances are started. That necessitates to manually change the Hercules configuration file.

Possible workarounds:

  • I needlessly must preallocate a number of tap devices for this occasion.
  • I first must stop all Qemu instances to get a predictable tap number for said Hercules instance.

Hence a fully dynamic approach as outlined above would make this mess a no-brainer.

Metadata

Metadata

Assignees

Labels

EnhancementThis issue does not describe a problem but rather describes a suggested change or improvement.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions