Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POE interfaces #1099

Closed
mzac opened this issue Apr 21, 2017 · 20 comments
Closed

POE interfaces #1099

mzac opened this issue Apr 21, 2017 · 20 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Milestone

Comments

@mzac
Copy link

mzac commented Apr 21, 2017

It would be interesting to be able to configure interfaces as a POE port when choosing the 'form factor' and for example choosing the poe type (15.4w, 30w, 60w) etc...

@jeremystretch
Copy link
Member

This feature request lacks sufficient detail to be actionable. Per the contributing guidelines:

When submitting a feature request on GitHub, be sure to include the following:

    A detailed description of the proposed functionality
    A use case for the feature; who would use it and what value it would add to NetBox
    A rough description of changes necessary to the database schema (if applicable)
    Any third-party libraries or other resources which would be involved

Please extend the request so that it meets all of these requirements. If no response is received within a week, this issue will be closed.

@mzac
Copy link
Author

mzac commented Apr 24, 2017

A detailed description of the proposed functionality

  • Tag Internfaces as POE/POE+/UPOE capable

A use case for the feature; who would use it and what value it would add to NetBox

  • All POE ports could be identified easily on switches that support it. If polling of the switch is supported in the future, the power usage on the port could be reported. Also, if a device could have its power source listed as POE the system could allow that power to come from an interface somehow?

A rough description of changes necessary to the database schema (if applicable)

  • Some new entries on the Form factor:

  • 100BASE-TX POE

  • 1000BASE-T POE

OR

A new optional dropdown list below the form factor:
POE Port:

  • POE (802.3af - Type 1 - 15.4W)
  • POE+ (802.3at - Type 2 - 30W)
  • UPOE (802.3bt - Type 3 - 60W)

Any third-party libraries or other resources which would be involved

  • N/A

@willglynn
Copy link

Some devices also produce/consume nonstandard POE schemes. There's some general agreement on what "passive POE mode A" and "passive POE mode B" means, but even then there's a variety of other specs to consider.

Ubiquiti, for example, does a lot of passive POE. They have a fun compatibility matrix of which UniFi APs work with which kinds of power, overflowing with asterisks and parentheticals because nothing can ever be simple. Worse, a single Ubiquiti switch port might be able to output both passive POE of a particular variety and standard POE.

Voltages are critically important, both outputs and tolerances. For example, you might have a 48V passive POE adapter paired with a UAP-AC-PRO, and that's fine -- but be careful not to plug it into a UAP-AC-LR lest the magic smoke escape. Yes, these products are adjacent in the brochure. Yes, this is terrible.

Amperages and pinouts are important too, hence the whole pile of different Ubiquiti power adapters. Yes, they sell two different 24V 24W passive POE adapters with different pinouts. Yes, this is terrible.

Mikrotik runs a fair amount of nonstandard POE as well. Some of their devices raise an interesting point: for example, the hAP can receive power over ether1 while providing power over ether5. This configuration is fixed in hardware, and as long as I'm documenting the POE role of each interface, I would like to distinguish source from sink.

I think "POE" should be a dropdown modifying an interface, independent of media type, and it definitely needs to support more than three options.

@dorkmatt
Copy link

These have existing names, such as PoE PD (powered device, ether1 in the example above) or PoE PSE (power sourcing equipment, ether5). Don't worry, @willglynn forgot to mention UPoE (Cisco up to 60W) - the insanity grows.

@jeremystretch jeremystretch added the status: accepted This issue has been accepted for implementation label Jan 26, 2018
@millijuna
Copy link

I've been taking a (very) preliminary look at what it would take to resolve #3377. It would be interesting to have this affect the power consumption for a given device. Eg 50W for the base switch, plus the PoE load, and have that trail on back.

@netbox-community netbox-community deleted a comment from martydingo Apr 30, 2020
@jeremystretch jeremystretch added type: feature Introduction of new functionality to the application needs milestone Awaiting prioritization for inclusion with a future NetBox release and removed type: minor feature status: accepted This issue has been accepted for implementation labels Jul 24, 2020
@girlpunk
Copy link

girlpunk commented Sep 9, 2020

Cascading the power consumption through devices (as requested for power connections in #3377) would be rather useful with this too

@jeremystretch
Copy link
Member

Given that #5401 will add custom field support for interfaces and other device components, I have to wonder whether it's worth pursuing this, or if we're better off just letting users define whatever fields they deem appropriate for tracking PoE.

@jeremystretch jeremystretch added status: under review Further discussion is needed to determine this issue's scope and/or implementation and removed needs milestone Awaiting prioritization for inclusion with a future NetBox release labels Dec 21, 2020
@abrahamvegh
Copy link
Contributor

I have to disagree, PoE is a critical part of the real-world definition of many networks. It should be built in and standardized, not left to end users to tack on with custom fields.

@jeremystretch
Copy link
Member

@abrahamvegh That's fair, however this issue has been open for over three years with very little discussion and still lacks a firm proposed implementation. Would you like to propose a specific implementation?

@abrahamvegh
Copy link
Contributor

@jeremystretch I’m happy to try and take a pass at it. This is a loose collection of my thoughts on what a useful implementation of PoE looks like in NetBox; hopefully this can serve as a good starting point for a continued discussion and implementation.

Desires

  • Accurate modeling of real world hardware configuration
  • PoE power utilization and budget calculations
    • Similar to existing power utilization calculations, but not wholly as a component of it

Definitions

  • PSE: Power sourcing equipment
    • Can provide power via PoE interfaces to PDs
    • Typically a switch (endspan PoE)
    • Sometimes an injector (midspan PoE)
  • PD: Powered device
    • Can consume power via a PoE interface
    • Typically a wireless AP or camera
    • Sometimes a switch
    • Sometimes lights
    • Pretty much could be anything
    • It is valid for a PD to also be a PSE
      • i.e. switches that can be powered by PoE while also passing through PoE power
  • PoE flavors: (intentionally ignoring the complexities of power class levels and modes)
    • PoE (802.3af / Type 1) (15.4W max)
    • PoE+ (802.3at / Type 2) (30W max)
    • PoE++ (802.3bt)
      • Type 3: 60W max
      • Type 4: 100W max
    • Non-802.3 (e.g. Ubiquiti 'passive' PoE)
  • Power budgets:
    • PSE
      • Typically an overall maximum specified for the entire device (e.g. 150W, 250W, 500W, etc.)
      • Individual interfaces will be rated for specific flavors or maximum wattage
        • e.g. 24-port switch with 20 PoE+ ports, 4 PoE++ ports, max output 30W
    • PD
      • Input minimum PoE flavor or wattage (e.g. 802.3at required)
      • Input max power consumption (e.g. max 16.5W for a particular AP)
      • Typically a single interface is identified as the PoE input (e.g. port 1, rear port)

Proposed New Fields

  • Device
    • PSE Power Budget: Unsigned Integer (Watts)
    • PSE Max Output per Interface: Unsigned Integer (Watts)
    • PD: Boolean
    • PD Min Input Power: Unsigned Integer (Watts)
    • PD Max Power Consumption: Unsigned Integer (Watts)
  • Interface
    • PoE Mode: Single Choice
      • None (default)
      • Powered Device
      • Power Sourcing Equipment
    • PoE Type: Single Choice (nullable)
      • 802.3af
      • 802.3at
      • 802.3bt (Type 3)
      • 802.3bt (Type 4)
      • Other

There is some cross-coverage of possible values in this list. This is because it is unclear to me whether or not the maintainers prefer to explicitly store all possible states, or derive some, or all.

As an example: Perhaps it makes the most sense to focus on extending just Interfaces, and derive anything further on the Device and Rack level using just that information. I don’t necessarily think that is the best way to go about it, I just don’t know the codebase well enough to make the assumption either way.

@stale
Copy link

stale bot commented Feb 13, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Please see our contributing guide.

@stale stale bot added the pending closure Requires immediate attention to avoid being closed for inactivity label Feb 13, 2021
@bobjacobsen
Copy link

I, for one, would find @abrahamvegh's solution useful. Those PoE flavors would be an excellent start at managing our usage.

@stale stale bot removed the pending closure Requires immediate attention to avoid being closed for inactivity label Feb 13, 2021
@rvall67
Copy link

rvall67 commented Mar 17, 2021

I agree. Incorporating PoE in the Interfaces would be really usefull.
In our company we have over 100 switches, soon more than 250 cameras, 75 door, 20 AP, ....
99% of the units are driven by PoE+from the switches or injectors.
To have the ability to calculate the power usage for the switch (or complete rack) would be nice.
It is a big difference between a switch without PoE and a switch with full usage, it could be 10W compared to 560W.

@abrahamvegh ideas sounds like a great start for implimentation.

@jeremystretch jeremystretch removed the status: under review Further discussion is needed to determine this issue's scope and/or implementation label Apr 13, 2021
@jeremystretch jeremystretch added the needs milestone Awaiting prioritization for inclusion with a future NetBox release label Apr 13, 2021
@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed needs milestone Awaiting prioritization for inclusion with a future NetBox release labels May 25, 2021
@jeremystretch jeremystretch added this to the v3.2 milestone May 25, 2021
@BarbarossaTM
Copy link
Contributor

BarbarossaTM commented Jun 8, 2021

Looking at the proposal from @abrahamvegh I'm wondering if the device specific information will work that way as some parts (like Max Output per Interface) might be different between line cards in a modular chassis.

I would extend the interface specific option list of

PoE Mode: Single Choice
     None (default)
     Powered Device
     Power Sourcing Equipment
PoE Type: Single Choice (nullable)
     802.3af
     802.3at
     802.3bt (Type 3)
     802.3bt (Type 4)
     Other

with the "usual" four passive PoE options of

  • 24V (0.75A)
  • 24VH (1.5A)
  • 48V (0.75A)
  • 48VH (1.5A)

provided by many switches and used by a lot of ubnt gear for example.

@ThomasADavis
Copy link

I have the miss fortune of running into many different POE standards (several hundred devices in fact..)

What is missing from @abrahamvegh list is a cross between POE+ and 802.3bt, called UltraPOE.

It uses the 802.3at signaling, but is rated for 50watts of power.. How do I know this? lookup the edge-core as4610 switches. "UltraPOE". Not 802.3bt. I know it was a stop gap solution until 802.3bt was ratified, but it does exist.

@jeremystretch jeremystretch modified the milestones: v3.2, v3.3 Dec 15, 2021
@abrahamvegh
Copy link
Contributor

@jeremystretch Can you share on the milestone slip? I know I’m eagerly awaiting this, and I’m sure many others are too. Understand that you can only do so much, just really want to see this implemented. 😅

@jeremystretch
Copy link
Member

To ensure we can finally move forward with this for v3.3, I'm going to limit the scope of this FR to the interface model only. Any additions to the device model can be considered for a future release.

As for the interface model, we'll add two fields per the conversation above:

POE mode

  • None (default)
  • Powered device (PD)
  • Power sourcing equipment (PSE)

POE type

  • None (default)
  • 802.3af
  • 802.3at
  • 802.3bt (Type 3)
  • 802.3bt (Type 4)
  • Other

If you would like to propose any additional POE types, please comment below citing the canonical name and reference for each. Proprietary types are fine so long as they are well-defined and uniquely distinguishable.

@tioan
Copy link

tioan commented May 19, 2022

In the WISP environment, the following passive PoE "standards" are available, especially from Ubnt, Mikrotik and some other manufacturers:

  • 24V @ 1A (2 Pair)
  • 48V @ 1A (2 Pair)
  • 24VH @ 2A (4 Pair)
  • 48VH @ 2A (4 Pair)

image

https://www.netonix.com/media/wysiwyg/ws-specsheet.pdf

@mzac
Copy link
Author

mzac commented May 19, 2022

@mo-g
Copy link

mo-g commented Jun 15, 2022

I assume restricting this to the Interface model means that power budgeting will not be part of 3.3? As in, to know what ports provide power, what ports require power, and be able to cascade power demands through from PoE ports to Power Ports so that budgets can be managed and oversubscription can be warned against?

Is there office-type hardware implementing these standards @mzac? Don't know that there's a use case for NetBox supporting an "automotive" PoE standard that links reversing cameras to a head unit.

Though, I confess I now want to build some technology using that standard, that seems really cool - thanks for the heads up! (display)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Projects
None yet
Development

No branches or pull requests