Public repository for the E2X translator between EOS configurations to XOS configurations.
The E2X Translator (E2X) is a command line tool to translate the configuration of an Enterasys Operating System (EOS) switch into an equivalent ExtremeXOS Network Operating System (EXOS) switch configuration. Main intention is to help migrating from Enterasys Networks (now Extreme Networks) SecureStack or similar to Extreme Networks Summit Series switches. Reference Platforms
The reference source platform for E2X is a C5K125-48P2 switch (C-Series switch with 48 triple speed ports with PoE (including 2 combo ports), and 2 SFP+ uplink ports) using EOS version 6.71.
The reference target platform is a Summit X460-48p switch with an XGM3S-2SF uplink module (Summit Series switch with 48 triple speed ports with PoE, 4 SFP ports, and 2 SFP+ uplink ports).
E2X is implemented in Python 3, with a minimum required version of 3.3. Development and testing is primarily done on GNU/Linux systems, with additional testing on Windows and Mac OS X.
Documentation for E2X can be found in the docs/ directory. There you find a user manual and a development document. Online Help
E2X prints a short help message if the option --help is used:
$ e2x.py --help
usage: e2x [-h] [-V] [-q] [-v] [-D]
[--source {C5K125-48P2,C5K125-48,C5G124-24}]
[--target {SummitX460-48p+4sf,SummitX460-48p+2sf,SummitX460-24t,SummitX460-48p+2xf,SummitX460-48p+2sf+4sf,SummitX460-48p}]
[-o OUTFILE] [-d OUTDIR] [--sfp-list SFP_LIST] [--ignore-defaults]
[--keep-unknown-lines] [--comment-unknown-lines]
[--err-unknown-lines] [--err-warnings] [--messages-as-comments]
[--abort-on-error] [--disable-unused-ports]
[FILE [FILE ...]]
Translate EOS switch configuration commands to ExtremeXOS. If no FILEs are
specified, input is read from STDIN and written to STDOUT. Otherwise the
translated configuration read from a file is written to a file with the same
name with the extension '.xsf' appended. Default settings of source and target
switches are considered unless the option to ignore switch default settings is
given. Valid input lines that are not yet supported will be ignored.
positional arguments:
FILE EOS file to translate (default STDIN)
optional arguments:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-q, --quiet suppress non-error messages
-v, --verbose print informational messages
-D, --debug print debug information
--source {C5K125-48P2,C5K125-48,C5G124-24}
source switch model (default C5K125-48P2)
--target {SummitX460-48p+4sf,SummitX460-48p+2sf,SummitX460-24t,SummitX460-48p+2xf,SummitX460-48p+2sf+4sf,SummitX460-48p}
target switch model (default SummitX460-48p+2sf)
-o OUTFILE, --outfile OUTFILE
specify non-default output file, '-' for STDOUT
-d OUTDIR, --outdir OUTDIR
specify output directory (default '.')
--sfp-list SFP_LIST list of combo ports with SFP installed, e.g.
'ge.1.47,ge.1.48'
--ignore-defaults ignore switch default settings for translation
--keep-unknown-lines copy unknown input configuration lines to output
--comment-unknown-lines
add unknown input configuration lines as comments to
output
--err-unknown-lines treat unknown input configuration lines as errors
--err-warnings treat warnings as errors
--messages-as-comments
add program messages as comments to translated config
--abort-on-error do not create translation of this input file if an
error occurs
--disable-unused-ports
disable additional, unused ports of target switch
E2X is licensed under the CDDL 1.0. See the file LICENSE.txt for details.