1

When accessing routers/switches via ssh cli, I'm familiar with configure syntax but have never bothered to ask "what is it called?" As you might imagine, searches for router configure language show a mix of how-to-use guides and ai-generated self-help.

No need to answer here, but in knowing where to look it will help me discover more:

  • Are there different implementations of it?
  • Is it scoped to *nix-only network config?
  • Are there more modern variants, like git vs svn?
2
  • Removed off-topic requests for resource recommendations.
    – Ron Maupin
    Commented Jan 9 at 14:25
  • 2
    Each vendor has its own configurations syntax that is often wildly different than other vendors. Many vendors have copied the way Cisco does it, but there are still differences (Cisco has sued over this in the past).
    – Ron Maupin
    Commented Jan 9 at 14:26

2 Answers 2

2

As hinted in comment by @Ron Maupin, there isn't an universal denomination, this will be vendor dependent, so:

Are there different implementations of it?

Yes, almost one different per vendor, however most of them are very similar.

Examples:
In Cisco world you have basically:

  • user exec mode
  • privileged mode
  • configuration mode

In Mellanox:

  • Standard mode
  • Enable mode
  • Config mode

Incidentally "Enable" is the command in Cisco to go in privileged mode, we can clearly see the heritage.

In Juniper:

  • Operational Mode
  • Configuration mode

In Fortigate, while you don't really have mode you have a command tree where the branch which allow configuration change is named... ....configure.

You can see that in most case, the name of the mode allowing to modify the configuration is called either "config" or "configure" or "configuration", while the other mode(s) have different names.

However if you speak about "operation mode" or "user mode" as opposite to "configuration mode", any network engineer should get it.

Is it scoped to *nix-only network config?

No. Cisco IOS is not *nix (while Cisco NX-OS is), and it is arguably the first major Networking Operating System.

Are there more modern variants, like git vs svn?

This is comparing apple to oranges, this question doesn't really have a sense in the world of networking, and also git is not a modern version of SVN, those are two different Version Control System, even if svn has become less popular.

1
  • 1
    Consider removing the unneeded posturing towards the end. My sense of networking was self-discovered through fascination with DDWRT, EdgeOS, and AWS vpc. I'm a CS Professor and encourage learning by asking (stupid) questions. Agreed, git is not a modern "version", it's a modern "variant"... of version control when compared to SVN. I had the rare privilege of working alongside Ben Collins-Sussman at Google, he said SVN was the right tool for the time -- glad to see git as its main successor. Anyways, got it operation mode it is. Commented Jan 9 at 16:31
0

I'll contribute what I found in researching my question. With the hint that this space isn't standardized, there seems to be no common term or name other than network configuration DSL.

  • Are there different implementations of it? Many
  • Is it scoped to *nix-only network config? No
  • Are there more modern variants, like git vs svn? Yes

I turned to Google Scholar in search of surveys or taxonomies and found IEEE SDN Programming Languages: Towards a Taxonomy, 2016, which shows how "wild" DSLs in this space can vary.

The article classifies network config DSL in subcategory 3 under the large umbrella of SDN (software defined networking):

Three distinct SDN programming levels: In (1) Low- level Programming, the network devices are programmed directly through Control-Data-Plane Interface (CDPI). With (2) API-based Programming, the network is programmed by using the controllers’ Application Programming Interfaces (APIs). Finally, the (3) Domain-Specific Programming Languages use the controllers’ APIs to provide higher-level abstractions.

They leave out proprietary SDN's (e.g. Cisco, Ubiquiti), but they do provide a collection of SDNs which surface network policy configuration.

collection of sdns

Beyond general network policy, they also discuss unique contributions.

unique sdn contributions

8
  • 2
    SDN is something completely different - the physical separation of forwarding plane from management plane. It's not necessarily related to syntax/language.
    – Zac67
    Commented Jan 9 at 15:40
  • 2
    SDN is a different animal.
    – Ron Maupin
    Commented Jan 9 at 15:45
  • 1
    @Zac67 Sure SDNs don't need to surface of DSL, but this answer is scoped to the IEEE article page 6.3: All the studied SDN programming languages were classified as Domain-Specific Languages (DSL). Commented Jan 9 at 15:52
  • 1
    @RonMaupin I understand SDN is a large macro lens (e.g. Ubiquiti Unifi platform), but I disagree that this configure syntax falls outside SDN. The article suggests a taxonomy which places the configure syntax as a subcategory (3) of SDN. Commented Jan 9 at 15:56
  • @JoshHibschman, consumer-grade devices, such as Ubiquiti Unifi platform, are explicitly off-topic here. To be on-topic, the manufacturer must offer optional, paid support, but Ubiquiti does not offer that.
    – Ron Maupin
    Commented Jan 9 at 16:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.