Skip to content

Define mechanism to customize or override GigSwitch default configuration #7

Description

@clintfred

User Story

As a GigSwitch administrator
I want to define a saved default configuration that is automatically applied after reset
so that the system comes up in a known, intentional state without manual reconfiguration

Description

The GigSwitch applies a built-in configuration file immediately after a system configuration reset:

/etc/mscc/icfg/default-config

This file:

  • Is applied automatically after a reset to defaults
  • Is mounted read-only and cannot be modified at runtime
  • Represents the system’s factory default behavior

At present, there is no obvious or documented way for an integrator or operator to:

  • Replace this default configuration
  • Provide an alternate “saved default” configuration
  • Automatically apply a user-defined configuration on reset or first boot

This limits the ability to ship or deploy systems that come up in a secure or mission-specific state without manual intervention.

The config file is not writable by default

/etc/mscc/icfg # ls -l
-rw-rw-r--    1 1008     1008           674 Jan  7 12:10 default-config

/etc/mscc/icfg # chmod 666 default-config
chmod: default-config: Read-only file system

Some questions to answer in documentation or examples

- [ ] Is there a supported way to create a user-defined “saved default” configuration?
- [ ] Can a configuration be designated as the one applied automatically after reset?
- [ ] What persistence guarantees exist across reboots, resets, and software updates?

Example Use Case

One example use case is defining a default VLAN layout (e.g., restricting management access to specific ports), but this issue is intentionally broader than any single configuration feature. The same mechanism would apply to any persistent configuration choice (interfaces, services, security settings, etc.).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions