Form factor for PON interfaces #2373

Closed
opened 2025-12-29 17:25:25 +01:00 by adam · 16 comments
Owner

Originally created by @candlerb on GitHub (Feb 13, 2019).

Environment

  • Python version: 3.5.2
  • NetBox version: 2.5.5

Proposed Functionality

Add form factor for PON interfaces (G-PON, XG-PON).

Use Case

Modelling POP which contains Optical Line Termination (OLT) devices. These connect to frontports on ODFs and/or circuits.

Currently you are forced to use either 'Other' or to pick some other form factor which you don't use (e.g. FibreChannel).

Database Changes

None - form factors are a static list in code.

(Making form factors configurable in database was rejected in #84 / #97)

External Dependencies

None

Originally created by @candlerb on GitHub (Feb 13, 2019). ### Environment * Python version: 3.5.2 * NetBox version: 2.5.5 ### Proposed Functionality Add form factor for PON interfaces (G-PON, XG-PON). ### Use Case Modelling POP which contains Optical Line Termination (OLT) devices. These connect to frontports on ODFs and/or circuits. Currently you are forced to use either 'Other' or to pick some other form factor which you don't use (e.g. FibreChannel). ### Database Changes None - form factors are a static list in code. (Making form factors configurable in database was rejected in #84 / #97) ### External Dependencies None
adam closed this issue 2025-12-29 17:25:25 +01:00
Author
Owner

@jeremystretch commented on GitHub (Feb 13, 2019):

Why wouldn't these be modeled as pass-through ports?

@jeremystretch commented on GitHub (Feb 13, 2019): Why wouldn't these be modeled as pass-through ports?
Author
Owner

@candlerb commented on GitHub (Feb 13, 2019):

Interesting idea.

I just tried creating OLT interfaces as "frontports", but Netbox doesn't allow you to do this without a corresponding "rearport" to link it to.

I was able to create the OLT interface as a "rearport", and then run a cable from that rearport to the frontport of an ODF.

Problems with this approach are:

  1. I don't get the cable tracing button.
  2. It is clearly a frig. OLT interfaces are active endpoints of a connection, with lasers and photodiodes. They are not passive "pass through".
@candlerb commented on GitHub (Feb 13, 2019): Interesting idea. I just tried creating OLT interfaces as "frontports", but Netbox doesn't allow you to do this without a corresponding "rearport" to link it to. I was able to create the OLT interface as a "rearport", and then run a cable from that rearport to the frontport of an ODF. Problems with this approach are: 1. I don't get the cable tracing button. 2. It is clearly a frig. OLT interfaces are active endpoints of a connection, with lasers and photodiodes. They are not passive "pass through".
Author
Owner

@jeremystretch commented on GitHub (Feb 13, 2019):

  1. I don't get the cable tracing button.

Will be fixed under #2758

  1. It is clearly a frig. OLT interfaces are active endpoints of a connection, with lasers and photodiodes. They are not passive "pass through".

Same with media convertors and active taps. "Pass-through" doesn't necessarily mean there's an uninterrupted physical path. It just means that what goes in the front port comes out the rear port (and vice versa); there is no forwarding decision being made.

@jeremystretch commented on GitHub (Feb 13, 2019): > 1. I don't get the cable tracing button. Will be fixed under #2758 > 2. It is clearly a frig. OLT interfaces are active endpoints of a connection, with lasers and photodiodes. They are not passive "pass through". Same with media convertors and active taps. "Pass-through" doesn't necessarily mean there's an uninterrupted physical path. It just means that what goes in the front port comes out the rear port (and vice versa); there is no forwarding decision being made.
Author
Owner

@candlerb commented on GitHub (Feb 13, 2019):

That's correct for media convertors and active taps, but an OLT port doesn't have a corresponding rear port. The "rear port", if anything, is the electronics on the line card.

@candlerb commented on GitHub (Feb 13, 2019): That's correct for media convertors and active taps, but an OLT port doesn't have a corresponding rear port. The "rear port", if anything, is the electronics on the line card.
Author
Owner

@candlerb commented on GitHub (Feb 13, 2019):

Maybe I should just clarify GPON topology and terminology.

     +-------+----          ,-        +-----+
=====|       |-------------<----------| ONT |-- 1GE
10GE |  OLT  |----          `-        +-----+
=====|       |----        splitter
     +-------+ PON ports

An OLT (Optical Line Termination) is the exchange-side device of a GPON network. It appears to all intents and purposes like a switch.

There are usually one or more 10G ports on the service provider side, where each service is delivered as a separate tagged VLAN. The customer-facing side is a bunch of PON ports each driving a single fibre strand (transmit/receive on different wavelengths). These go via passive optical splitters, so that typically one OLT port is shared between 32 subscribers.

Each subscriber has an ONT (Optical Network Termination) with an ethernet port on it. The ethernet packets going in and out of this port end up on the 10G ports of the OLT. The ONT is responsible for filtering out traffic not destined for that particular subscriber. The OLT knows which PON port each subscriber is on, and sends the traffic out of the right port.

So an OLT is essentially a fancy switch, where each PON port connects to a 33-port hub with 32 subscribers on it.

EDIT: for my use case I'm only concerned with modelling the OLT in the POP. The incoming fibres can be circuits arriving on the rear port of an ODF, and then there's a cable from the ODF front port to the OLT port. I don't need to model the external plant (splitters and ONTs)

@candlerb commented on GitHub (Feb 13, 2019): Maybe I should just clarify GPON topology and terminology. ``` +-------+---- ,- +-----+ =====| |-------------<----------| ONT |-- 1GE 10GE | OLT |---- `- +-----+ =====| |---- splitter +-------+ PON ports ``` An OLT (Optical Line Termination) is the exchange-side device of a GPON network. It appears to all intents and purposes like a switch. There are usually one or more 10G ports on the service provider side, where each service is delivered as a separate tagged VLAN. The customer-facing side is a bunch of PON ports each driving a single fibre strand (transmit/receive on different wavelengths). These go via passive optical splitters, so that typically one OLT port is shared between 32 subscribers. Each subscriber has an ONT (Optical Network Termination) with an ethernet port on it. The ethernet packets going in and out of this port end up on the 10G ports of the OLT. The ONT is responsible for filtering out traffic not destined for that particular subscriber. The OLT knows which PON port each subscriber is on, and sends the traffic out of the right port. So an OLT is essentially a fancy switch, where each PON port connects to a 33-port hub with 32 subscribers on it. EDIT: for my use case I'm only concerned with modelling the OLT in the POP. The incoming fibres can be circuits arriving on the rear port of an ODF, and then there's a cable from the ODF front port to the OLT port. I don't need to model the external plant (splitters and ONTs)
Author
Owner

@ChrisWilkins82 commented on GitHub (Feb 14, 2019):

I would think that you're best option would be to model the OLT ports to the passive splitters, and then connect the ONTs/ONUs (depending on your flavor of PON) to the splitters. The OLT ports can only be physically connected to one fiber, which then gets broken out in the field.

The only change to Netbox would be to add the various flavors of PON ports as a valid 1:1 connection option, everything else you would need is already there.

@ChrisWilkins82 commented on GitHub (Feb 14, 2019): I would think that you're best option would be to model the OLT ports to the passive splitters, and then connect the ONTs/ONUs (depending on your flavor of PON) to the splitters. The OLT ports can only be physically connected to one fiber, which then gets broken out in the field. The only change to Netbox would be to add the various flavors of PON ports as a valid 1:1 connection option, everything else you would need is already there.
Author
Owner

@candlerb commented on GitHub (Feb 14, 2019):

Yes, suitable interface type is all I'm asking for. I have tested using Circuits for the connection from OLT (where the circuit name is the splitter ID) and this works.

@candlerb commented on GitHub (Feb 14, 2019): Yes, suitable interface type is all I'm asking for. I have tested using Circuits for the connection from OLT (where the circuit name is the splitter ID) and this works.
Author
Owner

@DanSheps commented on GitHub (Feb 23, 2019):

What interface types were you thinking?

@DanSheps commented on GitHub (Feb 23, 2019): What interface types were you thinking?
Author
Owner

@candlerb commented on GitHub (Feb 25, 2019):

These are Calix E7-20. The slot is physically SFP but you can't plug a regular SFP module into it - they only take GPON Optical Interface Modules. So I think "SFP (GPON)" under the existing variants of SFP would be the best solution here.

Calix GPON card

There are actually different types of GPON SFP which can be plugged in (e.g. "B+" and "C+") but that's an attribute of the SFP module, not the interface.

@candlerb commented on GitHub (Feb 25, 2019): These are [Calix E7-20](https://www.calix.com/content/calix/en/site-prod/library-html/systems-products/e-series/pi/planning-resources/net-plan/eap-r25/index.htm?toc6943729.htm?42342.htm). The slot is physically SFP but you can't plug a regular SFP module into it - they only take GPON Optical Interface Modules. So I think "SFP (GPON)" under the existing variants of SFP would be the best solution here. ![Calix GPON card](https://www.calix.com/content/calix/en/site-prod/library-html/systems-products/e-series/pi/planning-resources/net-plan/eap-r25/70997.png) There are actually different types of GPON SFP which can be plugged in (e.g. "B+" and "C+") but that's an attribute of the SFP module, not the interface.
Author
Owner

@ChrisWilkins82 commented on GitHub (Feb 25, 2019):

You've also got the IEEE PON standards, GePON (SFP) and EPON (XFP & SFP+).
Off of the top of my head you'd need GPON, BPON, GePON, & EPON, but I could
be missing some standards in there that I'm not familiar with.

On Mon, Feb 25, 2019 at 3:21 AM Brian Candler notifications@github.com
wrote:

These are Calix E7-20
https://www.calix.com/content/calix/en/site-prod/library-html/systems-products/e-series/pi/planning-resources/net-plan/eap-r25/index.htm?toc6943729.htm?42342.htm.
The slot is physically SFP but you can't plug a regular SFP module into it

  • they only take GPON Optical Interface Modules. So I think "SFP (GPON)"
    under the existing variants of SFP would be the best solution here.

[image: Calix GPON card]
https://camo.githubusercontent.com/3a42c96b722f77fd68a82c33fdad1c38c4a50838/68747470733a2f2f7777772e63616c69782e636f6d2f636f6e74656e742f63616c69782f656e2f736974652d70726f642f6c6962726172792d68746d6c2f73797374656d732d70726f64756374732f652d7365726965732f70692f706c616e6e696e672d7265736f75726365732f6e65742d706c616e2f6561702d7232352f37303939372e706e67

There are actually different types of GPON SFP which can be plugged in
(e.g. "B+" and "C+") but that's an attribute of the SFP module, not the
interface.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/digitalocean/netbox/issues/2882#issuecomment-466956534,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ArwR0QUAK7VXS9BIPasqaPp9fO9KFTOpks5vQ7khgaJpZM4a5IIQ
.

--
Respectfully,

Chris Wilkins

@ChrisWilkins82 commented on GitHub (Feb 25, 2019): You've also got the IEEE PON standards, GePON (SFP) and EPON (XFP & SFP+). Off of the top of my head you'd need GPON, BPON, GePON, & EPON, but I could be missing some standards in there that I'm not familiar with. On Mon, Feb 25, 2019 at 3:21 AM Brian Candler <notifications@github.com> wrote: > These are Calix E7-20 > <https://www.calix.com/content/calix/en/site-prod/library-html/systems-products/e-series/pi/planning-resources/net-plan/eap-r25/index.htm?toc6943729.htm?42342.htm>. > The slot is physically SFP but you can't plug a regular SFP module into it > - they only take GPON Optical Interface Modules. So I think "SFP (GPON)" > under the existing variants of SFP would be the best solution here. > > [image: Calix GPON card] > <https://camo.githubusercontent.com/3a42c96b722f77fd68a82c33fdad1c38c4a50838/68747470733a2f2f7777772e63616c69782e636f6d2f636f6e74656e742f63616c69782f656e2f736974652d70726f642f6c6962726172792d68746d6c2f73797374656d732d70726f64756374732f652d7365726965732f70692f706c616e6e696e672d7265736f75726365732f6e65742d706c616e2f6561702d7232352f37303939372e706e67> > > There are actually different types of GPON SFP which can be plugged in > (e.g. "B+" and "C+") but that's an attribute of the SFP module, not the > interface. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <https://github.com/digitalocean/netbox/issues/2882#issuecomment-466956534>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/ArwR0QUAK7VXS9BIPasqaPp9fO9KFTOpks5vQ7khgaJpZM4a5IIQ> > . > -- Respectfully, Chris Wilkins
Author
Owner

@DanSheps commented on GitHub (Mar 6, 2019):

Could we get a list of commercially available PON interfaces?

@DanSheps commented on GitHub (Mar 6, 2019): Could we get a list of commercially available PON interfaces?
Author
Owner

@candlerb commented on GitHub (Mar 6, 2019):

On the card side, all I've come across is a PON SFP slot. On the PON side there are various standards

I would be inclined to start with:

  • PON (modular)
    • G-PON
    • XG-PON

and see if there is demand for anything else.

@candlerb commented on GitHub (Mar 6, 2019): On the card side, all I've come across is a PON SFP slot. On the PON side there are [various standards](https://en.wikipedia.org/wiki/Passive_optical_network) I would be inclined to start with: * *PON (modular)* * G-PON * XG-PON and see if there is demand for anything else.
Author
Owner

@ChrisWilkins82 commented on GitHub (Mar 7, 2019):

You also have IEEE's EPON, that comes in 1G & 10G flavors; 1G is only SFP,
and 10G is XFP. As can be seen by this platform:
https://www.sumitomoelectric.com/cms/wp-content/uploads/2016/01/FSU7100.pdf.
It's what I have the most experience with, and where I'm basing the 10G XFP
optics from. IEEE has moved away from a distinction between GePON and EPON,
as you can see from that PDF, they're only referencing 1G and 10G PON,
which has all been rolled into EPON.

Given that you really only have two optic formats between the ITU and IEEE
standards, it's probably easiest to just reference the optics themselves
for this.

Something like this makes sense to me:
PON - SFP
PON - XFP

On Wed, Mar 6, 2019 at 7:36 AM Brian Candler notifications@github.com
wrote:

On the card side, all I've come across is a PON SFP slot. On the PON side
there are various standards
https://en.wikipedia.org/wiki/Passive_optical_network

I would be inclined to start with:

  • PON (modular)
    • G-PON
    • XG-PON

and see if there is demand for anything else.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/digitalocean/netbox/issues/2882#issuecomment-470120948,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ArwR0VK0jUe3kOt3P0Wxo1mmiLdx79A0ks5vT9JvgaJpZM4a5IIQ
.

--
Respectfully,

Chris Wilkins

@ChrisWilkins82 commented on GitHub (Mar 7, 2019): You also have IEEE's EPON, that comes in 1G & 10G flavors; 1G is only SFP, and 10G is XFP. As can be seen by this platform: https://www.sumitomoelectric.com/cms/wp-content/uploads/2016/01/FSU7100.pdf. It's what I have the most experience with, and where I'm basing the 10G XFP optics from. IEEE has moved away from a distinction between GePON and EPON, as you can see from that PDF, they're only referencing 1G and 10G PON, which has all been rolled into EPON. Given that you really only have two optic formats between the ITU and IEEE standards, it's probably easiest to just reference the optics themselves for this. Something like this makes sense to me: PON - SFP PON - XFP On Wed, Mar 6, 2019 at 7:36 AM Brian Candler <notifications@github.com> wrote: > On the card side, all I've come across is a PON SFP slot. On the PON side > there are various standards > <https://en.wikipedia.org/wiki/Passive_optical_network> > > I would be inclined to start with: > > - *PON (modular)* > - G-PON > - XG-PON > > and see if there is demand for anything else. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <https://github.com/digitalocean/netbox/issues/2882#issuecomment-470120948>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/ArwR0VK0jUe3kOt3P0Wxo1mmiLdx79A0ks5vT9JvgaJpZM4a5IIQ> > . > -- Respectfully, Chris Wilkins
Author
Owner

@candlerb commented on GitHub (Mar 7, 2019):

I am good with that.

@candlerb commented on GitHub (Mar 7, 2019): I am good with that.
Author
Owner

@sinewaveinc commented on GitHub (Jul 11, 2019):

There's also XGS-PON, which is different from XG-PON and TWDM-PON (NGPON2). If you are going to model the optics, I would hope to include the frequencies of said optics.

@sinewaveinc commented on GitHub (Jul 11, 2019): There's also XGS-PON, which is different from XG-PON and TWDM-PON (NGPON2). If you are going to model the optics, I would hope to include the frequencies of said optics.
Author
Owner

@jeremystretch commented on GitHub (Dec 13, 2019):

Closing this out as no one has proposed an exact list of interface types to be included. Please see InterfaceTypeChoices in dcim/choices.py for reference (NetBox v2.7 and later). If you would like to propose the addition of specific types, please open a new feature request including the exact values that you are proposing.

@jeremystretch commented on GitHub (Dec 13, 2019): Closing this out as no one has proposed an exact list of interface types to be included. Please see `InterfaceTypeChoices` in `dcim/choices.py` for reference (NetBox v2.7 and later). If you would like to propose the addition of *specific types*, please open a new feature request including the exact values that you are proposing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2373