Repository: netbox-community/netbox
Pull request: #11371 - Add various 100Mb Interface Types
### Fixes: #11371 

Added 3 types of interfaces. 100base-fx (fast ethernet over fiber), 100base-lfx (proprietary fast ethernet over fiber), and 100base-t1 (10/100 single pair) for completeness. 

Problem statement:
Interface Type Addition: Add 100Base-FX and other 100Mbps Types
### NetBox version

v3.4.1

### Feature type

Data model extension

### Proposed functionality

We have some legacy hardware that runs on 100Base-FX (Fast Ethernet over Fiber). We would like to request the interface type be added

### Use case

We have some Allied Telesis AT-FS202's in the field that we are looking to record. These have 100Base-FX connection for their Port1 and 10Base-T/100Base-TX for their Port 2

### Database changes

_No response_

### External dependencies

_No response_

Hints from issue discussion:

Commit message: Added 100BASE-T1 (single pair fast ethernet) as well as 100BASE‑LFX (fast ethernet over fiber, non standard)

Patch to review:
diff --git a/netbox/dcim/choices.py b/netbox/dcim/choices.py
index 32dbbb62af6..a1a58301e9d 100644
--- a/netbox/dcim/choices.py
+++ b/netbox/dcim/choices.py
@@ -785,7 +785,10 @@ class InterfaceTypeChoices(ChoiceSet):
     TYPE_LAG = 'lag'
 
     # Ethernet
+    TYPE_100ME_FX = '100base-fx'
+    TYPE_100ME_LFX = '100base-lfx'
     TYPE_100ME_FIXED = '100base-tx'
+    TYPE_100ME_T1 = '100base-t1'
     TYPE_1GE_FIXED = '1000base-t'
     TYPE_1GE_GBIC = '1000base-x-gbic'
     TYPE_1GE_SFP = '1000base-x-sfp'
@@ -919,6 +922,7 @@ class InterfaceTypeChoices(ChoiceSet):
             'Ethernet (fixed)',
             (
                 (TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'),
+                (TYPE_100ME_T1, '100BASE-T1 (10/100ME Single Pair)'),
                 (TYPE_1GE_FIXED, '1000BASE-T (1GE)'),
                 (TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'),
                 (TYPE_5GE_FIXED, '5GBASE-T (5GE)'),
@@ -929,6 +933,8 @@ class InterfaceTypeChoices(ChoiceSet):
         (
             'Ethernet (modular)',
             (
+                (TYPE_100ME_FX, '100BASE-FX (10/100ME FIBER)'),
+                (TYPE_100ME_LFX, '100BASE-LFX (10/100ME FIBER)'),
                 (TYPE_1GE_GBIC, 'GBIC (1GE)'),
                 (TYPE_1GE_SFP, 'SFP (1GE)'),
                 (TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'),


Code review comments:
diff_hunk: @@ -929,6 +933,8 @@ class InterfaceTypeChoices(ChoiceSet):
         (
             'Ethernet (modular)',
             (
+                (TYPE_100ME_FX, '100BASE-FX (10/100ME FIBER)'),
+                (TYPE_100ME_LFX, '100BASE-LFX (10/100ME FIBER)'),
path: netbox/dcim/choices.py
text: @user1:
These should probably go under the "fixed" group, as the standard applies to the physical transmission rather than the interface to a transceiver.

@author:
That makes sense, I updated it