lookingglass/docs/docs/platforms.mdx
2021-05-30 15:47:48 -07:00

125 lines
8.6 KiB
Text

---
id: platforms
title: Supported Platforms
sidebar_label: Supported Platforms
description: Platforms supported by hyperglass
---
import Native from "../src/components/Native";
<div class="table--full-width" />
## SSH
The following platforms use [Netmiko](https://github.com/ktbyers/netmiko) or [Scrapli](https://github.com/carlmontanari/scrapli) for connection handling. When configuring the `nos` property of a device, use the value in the **Key** column.
Platforms in <Native>green</Native> are natively supported, which means hyperglass has predefined commands built in. Other platforms should also work, you'll just need to [add a custom command profile](commands.mdx).
If needed, for troubleshooting purposes or otherwise, the driver for a given device [can be overridden](adding-devices#all-device-paramters) with the `driver` parameter. Generally, Netmiko is more stable, supports more platforms, but is slower; while Scrapli can be less reliable, supports fewer platforms, but is significantly faster.
| Name | Key | Default Driver |
| :--------------------------------- | :-------------------- | :------------- |
| A10 | `a10` | Netmiko |
| Accedian | `accedian` | Netmiko |
| Alcatel AOS | `alcatel_aos` | Netmiko |
| Alcatel SROS | `alcatel_sros` | Netmiko |
| Apresia Systems AEOS | `apresia_aeos` | Netmiko |
| <Native>Arista vEOS</Native> | `arista_eos` | Netmiko |
| Aruba | `aruba_os` | Netmiko |
| Avaya ERS | `avaya_ers` | Netmiko |
| Avaya VSP | `avaya_vsp` | Netmiko |
| <Native>BIRD</Native> | `bird` | Scrapli |
| Calix B6 | `calix_b6` | Netmiko |
| Check Point GAiA | `checkpoint_gaia` | Netmiko |
| Ciena SAOS | `ciena_saos` | Netmiko |
| Cisco ASA | `cisco_asa` | Netmiko |
| <Native>Cisco IOS</Native> | `cisco_ios` | Scrapli |
| <Native>Cisco NX-OS</Native> | `cisco_nxos` | Scrapli |
| Cisco SG-300 | `cisco_s300` | Netmiko |
| <Native>Cisco IOS-XE</Native> | `cisco_xe` | Scrapli |
| <Native>Cisco IOS-XR</Native> | `cisco_xr` | Scrapli |
| Citrix Netscaler | `netscaler` | Netmiko |
| CloudGenix ION | `cloudgenix_ion` | Netmiko |
| Coriant | `coriant` | Netmiko |
| Dell OS6 | `dell_os6` | Netmiko |
| Dell OS9 | `dell_os9` | Netmiko |
| Dell OS10 | `dell_os10` | Netmiko |
| Dell PowerConnect | `dell_powerconnect` | Netmiko |
| Endace | `endace` | Netmiko |
| Eltex | `eltex` | Netmiko |
| Eltex ESR | `eltex_esr` | Netmiko |
| Enterasys | `enterasys` | Netmiko |
| Extreme | `extreme` | Netmiko |
| Extreme ERS | `extreme_ers` | Netmiko |
| Extreme EXOS | `extreme_exos` | Netmiko |
| Extreme/Brocade NetIron | `extreme_netiron` | Netmiko |
| Extreme NOS | `extreme_nos` | Netmiko |
| Extreme/Brocade SLX | `extreme_slx` | Netmiko |
| Extreme/Brocade VDX | `extreme_vdx` | Netmiko |
| Extreme VSP | `extreme_vsp` | Netmiko |
| Extreme Wing | `extreme_wing` | Netmiko |
| F5 LTM | `f5_ltm` | Netmiko |
| F5 TMSH | `f5_tmsh` | Netmiko |
| F5 Linux | `f5_linux` | Netmiko |
| Flex VNF | `flexvnf` | Netmiko |
| Fortinet | `fortinet` | Netmiko |
| <Native>FRRouting</Native> | `frr` | Scrapli |
| Generic Terminal Server | `generic_termserver` | Netmiko |
| HPE/3COM Comware | `hp_comware` | Netmiko |
| HPE ProCurve | `hp_procurve` | Netmiko |
| <Native>Huawei</Native> | `huawei` | Netmiko |
| Huawei VRPv8 | `huawei_vrpv8` | Netmiko |
| IPInfusion OcNOS | `ipinfusion_ocnos` | Netmiko |
| <Native>Juniper</Native> | `juniper` | Scrapli |
| <Native>Juniper JunOS</Native> | `juniper_junos` | Scrapli |
| Juniper ScreenOS | `juniper_screenos` | Netmiko |
| Keymile | `keymile` | Netmiko |
| Keymile NOS | `keymile_nos` | Netmiko |
| Linux | `linux` | Netmiko |
| <Native>Mikrotik RouterOS</Native> | `mikrotik_routeros` | Netmiko |
| <Native>Mikrotik SwitchOS</Native> | `mikrotik_switchos` | Netmiko |
| Mellanox | `mellanox` | Netmiko |
| Mellanox MLNX-OS | `mellanox_mlnxos` | Netmiko |
| MRV LX | `mrv_lx` | Netmiko |
| MRV Optiswitch | `mrv_optiswitch` | Netmiko |
| <Native>Nokia SROS</Native> | `nokia_sros` | Netmiko |
| OneAccess OneOS | `oneaccess_oneos` | Netmiko |
| OVS Linux | `ovs_linux` | Netmiko |
| Palo Alto Networks PAN-OS | `paloalto_panos` | Netmiko |
| Pluribus | `pluribus` | Netmiko |
| Quanta Mesh | `quanta_mesh` | Netmiko |
| RAD ETX | `rad_etx` | Netmiko |
| Ruckus/Brocade FastIron | `ruckus_fastiron` | Netmiko |
| Ruijie OS | `ruijie_os` | Netmiko |
| <Native>TNSR</Native> | `tnsr` | Scrapli |
| Ubuiquiti EdgeRouter | `ubiquiti_edge` | Netmiko |
| Ubuiquiti EdgeSwitch | `ubiquiti_edgeswitch` | Netmiko |
| Vyatta VyOS | `vyatta_vyos` | Netmiko |
| <Native>VyOS</Native> | `vyos` | Netmiko |
## HTTP
The following platforms use [hyperglass-agent](agent/installation.mdx) for connection handling. When configuring the `nos` property of a device, use the value in the **Key** column.
:::caution hyperglass agent is being deprecated
While hyperglass-agent was a cool idea, maintaining the two codebases and protocol sets has proven cumbersome, with very little benefit. As of **v1.0.0**, `frr_legacy` and `bird_legacy` are temporarily available to mimic previous behavior with hyperglass-agent.
:::
| Name | Key |
| :-------- | :------------ |
| BIRD | `bird_legacy` |
| FRRouting | `frr_legacy` |
## Caveats
### BIRD
If using BIRD, more specifically [`bird_ssh`](platforms.mdx), you'll more than likely need to provide hyperglass with credentials that have root privileges. This is because, to my knowledge, the socket `birdc` uses is created by root. Therefore, if hyperglass runs the `birdc` commands as an unprivileged user, they will fail with a permissions error.
### FRRouting
The user account you provide hyperglass in the `credential` field needs to be a member of the `frrvty` group. See [the FRR docs](http://docs.frrouting.org/en/latest/vtysh.html) for more detail.
### VyOS
As of `vyos-1.3-rolling-202007050117` which is the latest release VyOS has been tested with hyperglass, VyOS does not support BGP or other dynamic routing protocols in a VRF. As such, the default BGP commands for VyOS **omit the VRF from the command**.