E2x

Public repository for the E2X translator between EOS configurations to XOS configurations.

View the Project on GitHub extremenetworks/E2X

E2X Translator

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).

System Requirements

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

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

License

E2X is licensed under the CDDL 1.0. See the file LICENSE.txt for details.