You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today, it might be difficult to represent a network as-is in GNPy, that is, to completely switch off any autodesign-driven transformations. Here's a YANG proposal which (I hope) will make this easier:
As usual, the network consists of nodes and links. Unlike today's GNPy, though, some interesting "GNPy elements" are no longer represented as nodes, but they become links. A prime example is the Fiber element.
Some constructs are wroth a special attention. The fiber element now corresponds to a real-world fiber, i.e., something which is already known to exist. Its length and attenuation is already known, and GNPy won't be allowed to split this fiber into smaller chunks. If the automatic splitting is desirable, then there are two options:
The tentative-link, where only the length is known, and amplifiers can be auto-inserted at will. Think of this as a "link intention": I know I want to connect these cities which are 5000km apart, but I have no clue how many amps I need for that. GNPy, please help me design my network.
The amplifier-placeholder, on the other hand, connects two physical fiber instances together (or a fiber and tentative-link, or even two tentative-links; there's probably no need for an artificial limitation). Think of it as a hut along the fiber path; GNPy can either replace that by a specific amplifier, or it can use this location to splice the two fibers. That's done via the attenuator node.
Another difference compared to today's GNPy-JSON is fiber vs. patch. The features currently supported by the Fused GNPy element (which is a node in GNPy's internal network representation) will be handled either by the patch (as a graph edge, for joining, e.g., two ROADMs together), or by the the attenuator node.
This proposal does not require ports, but there are some hacks (such as the ROADM's per-degree options which are presently implemented inside a patch, which looks a bit ugly) which might warrant using ports. If we do that, though, we might as well introduce "bidirecitonal nodes" (i.e., a node which has both east-to-west and west-to-east EDFA).
Also, this will need a set of heuristics when opening a legacy-style JSON file. I'm trying to solve some ambiguities in the existing format, and that might make it rather hard to support a full legacy-JSON → YANG-JSON → legacy-JSON round trip.
Today, it might be difficult to represent a network as-is in GNPy, that is, to completely switch off any autodesign-driven transformations. Here's a YANG proposal which (I hope) will make this easier:
As usual, the network consists of nodes and links. Unlike today's GNPy, though, some interesting "GNPy elements" are no longer represented as nodes, but they become links. A prime example is the Fiber element.
Some constructs are wroth a special attention. The
fiber
element now corresponds to a real-world fiber, i.e., something which is already known to exist. Its length and attenuation is already known, and GNPy won't be allowed to split this fiber into smaller chunks. If the automatic splitting is desirable, then there are two options:tentative-link
, where only the length is known, and amplifiers can be auto-inserted at will. Think of this as a "link intention": I know I want to connect these cities which are 5000km apart, but I have no clue how many amps I need for that. GNPy, please help me design my network.amplifier-placeholder
, on the other hand, connects two physicalfiber
instances together (or afiber
andtentative-link
, or even twotentative-link
s; there's probably no need for an artificial limitation). Think of it as a hut along the fiber path; GNPy can either replace that by a specific amplifier, or it can use this location to splice the two fibers. That's done via theattenuator
node.Another difference compared to today's GNPy-JSON is
fiber
vs.patch
. The features currently supported by theFused
GNPy element (which is a node in GNPy's internal network representation) will be handled either by thepatch
(as a graph edge, for joining, e.g., two ROADMs together), or by the theattenuator
node.This proposal does not require ports, but there are some hacks (such as the ROADM's per-degree options which are presently implemented inside a
patch
, which looks a bit ugly) which might warrant using ports. If we do that, though, we might as well introduce "bidirecitonal nodes" (i.e., a node which has both east-to-west and west-to-east EDFA).Also, this will need a set of heuristics when opening a legacy-style JSON file. I'm trying to solve some ambiguities in the existing format, and that might make it rather hard to support a full legacy-JSON → YANG-JSON → legacy-JSON round trip.
Thoughts, opinions?
Cc: @Sme791, @AndreaDAmico
The text was updated successfully, but these errors were encountered: