OEM part numbers: how vendors name optics
A switch matches a module against its supported list by the part number and vendor name stored in the module's EEPROM, so the exact string matters — down to a suffix letter. Each vendor has a naming grammar, and knowing it lets you read a PN off a label or a show output and know the rate, reach, wavelength and grade without a datasheet. This page collects the grammars of the common brands and the rules for matching them.
Where the PN lives
| Specification | Vendor name | Part number | Notes |
|---|---|---|---|
| SFF-8472 (SFP family) | A0h 20–35 | A0h 40–55 | 16 ASCII each, space padded |
| SFF-8636 (QSFP family) | 148–163 | 168–183 | — |
| CMIS (QSFP-DD, OSFP…) | page 00h 129–144 | 148–163 | — |
| INF-8077i (XFP) | 148–163 | 168–183 | — |
Formatting rules and what else hosts compare: Vendor fields.
Naming grammars
| Brand | Pattern | Examples | Reading it |
|---|---|---|---|
| Cisco | GLC-<type>-<var> (1G), SFP-10G-<reach>[-S/-X/-I], SFP-25G-<reach>-S, QSFP-40G-<reach>4, QSFP-100G-<reach>4-S, QDD-400G-<reach>4-S, SFP-H10GB-CU<n>M (DAC), SFP-10G-AOC<n>M | GLC-LH-SMD, SFP-10G-LR, SFP-10G-LR-S, SFP-25G-SR-S, QSFP-100G-SR4-S, QDD-400G-DR4-S, SFP-H10GB-CU3M | suffix -S = "select" (enterprise grade, no extended temp), -X/-I = extended/industrial; SMD = SM with DOM; H10GB-CU = passive DAC with length |
| Juniper | EX-SFP-<rate><reach>, QFX-SFP-<rate><reach>, JNP-<ff>-<rate>-<reach>, SRX-SFP-…, QFX-QSFP-DAC-<n>M | EX-SFP-10GE-LR, QFX-SFP-10GE-SR, JNP-QSFP-100G-LR4, JNP-QSFP-DAC-1M, EX-SFP-1GE-LX | prefix = product family it was qualified for (EX, QFX, MX, SRX, JNP generic); same optic may exist under several prefixes |
| Arista | SFP-<rate>-<reach>, QSFP-<rate>-<reach>, CAB-<ff>-<ff>-<rate>-<n>M, AOC-<ff>-<ff>-<rate>-<n>M | SFP-10G-LR, SFP-25G-SR, QSFP-100G-SR4, QSFP-400G-DR4, CAB-Q-Q-100G-3M, AOC-S-S-25G-5M | plain and predictable; cables encode both ends (Q-Q, Q-S, S-S) |
| Huawei | numeric codes O<ff><…> / OM…, OS…, LE…, QSFP-…, S-SFP-… | OSX010000 (10G SFP+ LR 10 km), OMXD30000 (10G SR), OSXD22N00, S-SFP-GE-LH40-SM1310, QSFP-100G-SR4, SFP-10G-USR | older codes are catalog numbers; newer ones descriptive (rate, reach in km, wavelength) |
| H3C | SFP-<rate>-<reach>-<fibre><λ>, QSFP-<rate>-<reach>-<fibre><λ> | SFP-XG-LX-SM1310, SFP-GE-LX-SM1310-A, QSFP-100G-SR4-MM850, QSFP-40G-LR4-WDM1300 | XG = 10G, GE = 1G; fibre and wavelength spelled out |
| HPE / Aruba | J<4 digits><letter> (ProCurve/Aruba), JD/JG/JH… (H3C-derived), R<…> (newer Aruba), 455883-B21 style (server) | J4858D (1G SX), J9151E (10G LR), JD092B (10G SR), JL486A (25G SR), R0R41A | letter suffix = revision/generation; the same optic gets a new J-number per generation |
| Dell | 407-<4 chars> (SKU) and descriptive SFP-10G-SR, QSFP28-100G-SR4, DAC-Q28-… | 407-BBOU (10G SR), 407-BBVJ (25G SR), QSFP28-100G-SR4, DAC-Q28-Q28-100G-1M | SKU on the box, descriptive PN in EEPROM |
| Extreme | 5-digit codes | 10301 (10G SR), 10302 (10G LR), 10052 (1G LX), 10401 (QSFP28 SR4) | catalog numbers; descriptive string in vendor rev/PN fields |
| Nvidia / Mellanox | MMA<…> (MMF optics), MMS<…> (SMF), MFA<…> (AOC), MCP<…> (DAC), MC<…> legacy | MMA1B00-C100D (100G SR4), MMS1W50-HM (200G FR4), MFA1A00-C003 (100G AOC 3 m), MCP1600-C003E30N (100G DAC 3 m, 30 AWG), MMA4Z00-NS (800G SR8 twin-port) | suffix encodes lanes, length, gauge and generation; InfiniBand and Ethernet variants differ |
| Intel | E10GSFP<…>, E25GSFP<…>, X710DA… (NIC) | E10GSFPSR, E10GSFPLR, E25GSFP28SR | NIC-vendor optics; drivers check them |
| Brocade / Broadcom (SAN) | 57-<digits>-<rev>, XBR-000<digits> | 57-1000117-01 (8G SW), XBR-000192 (16G SW), 57-1000480-01 (32G SW) | SAN switches require these strings |
| MikroTik | S-<λ><type>…, S+<λ>… (10G), XS+<…> (25G), Q+<…> (40G), XQ+<…> (100G) | S-3553LC20D (1G BiDi), S+31DLC10D (10G LR 10 km), XS+31LC10D (25G LR), Q+85MP01D (40G SR4), XQ+85MP01D (100G SR4) | digits = wavelength, LC/MP connector, 10D = 10 km with DDM |
| Ubiquiti | UACC-OM-<…>, UF-<type> | UF-SM-10G, UACC-OM-SFP28-SR | — |
| Generic / white label | descriptive | SFP-10GLR-31, SFP-10G-LR-C, QSFP28-100G-SR4-C | the -C suffix often means "coded for vendor C" in distributor catalogues |
Conventions shift between product generations; the grammar tells you how to read a PN, not that every PN exists.
Grades and suffixes worth knowing
| Suffix / marker | Meaning |
|---|---|
-S (Cisco) | select/enterprise grade: commercial temperature, no extended-reach DOM promises |
-I, -X, -E | industrial / extended temperature range |
SMD, -D, 10D | with digital diagnostics |
-C, -CIS, -JUN, -ARI (distributors) | coded for a given OEM's whitelist |
A/B/C… (HPE letter) | hardware/firmware revision or generation |
-U/-D, -A/-B | BiDi upstream/downstream pair, or channel A/B of a paired optic |
Matching rules on the switch
- Most platforms compare vendor name + PN against a table; some compare the PN prefix only; a few also verify a vendor-specific signature (How each NOS validates a module).
- Case, trailing spaces and padding must match the specification (space-padded ASCII); a NUL-padded PN fails silently (Vendor fields).
- The type string the switch prints is often built from the PN, not from compliance codes — a PN that says
-LRon an SR module will be displayed as LR and then fail to link (Compliance codes). - Serial-number formats and date codes are rarely checked but are inspected by TAC.
Finding the right PN for a port
- Platform's supported-optics list (or transceiver compatibility tool) → PN for the PMD you need (Compatibility matrices).
- Confirm the PMD behind the PN (rate, reach, wavelength, connector) against the plant.
- Check the grade suffix against temperature and reach requirements.
- On the bench, compare the module's EEPROM PN and vendor name with the list entry character by character (Check transceiver).
In CodingBox
The code database stores complete identities under the vendor PN so a module can be coded to an entry in one step; the EEPROM editor enforces the 16-character, space-padded format and recalculates checksums. Coding a PN that does not describe the real optics moves the failure from the whitelist to the link (EEPROM recoding).
The rest of the label around the part number — serial and date formats, wavelength and reach fields, latch colours, safety marks: Labels & colour codes.