Giter VIP home page Giter VIP logo

app-iosdiff's Introduction

NAME
    iosdiff - Cisco IOS Config Diff Utility

VERSION
    version 1.112160

SYNOPSIS
     $> iosdiff 192.0.2.1 192.0.2.1.new

     ~~~ Config diff for device 192.0.2.1
     ===================================================================
     - snmp-server enable traps ccme
     + snmp-server enable traps srst

DESCRIPTION
    The "iosdiff" program will intelligently diff two files which are in
    Cisco IOS-style configuration file format.

    Whilst an ordinary diff works on IOS-style configuration files, it
    doesn't show the context in a useful way. For example if one line
    changes within an interface configuration, you're likely not to see the
    interface name in a standard 3-line contextual diff. This program
    improves that by showing the full context of any difference.

    In terms of IOS-style configuration, this context means either the
    "section" such as an interface or class-map (a header with indented
    lines), or the command group such as an access control list, where the
    lines share common leading text.

USAGE
    The "iosdiff" command takes only two arguments, which are the names of
    the two files to diff.

     $> iosdiff from-this-file to-this-file

    Lines in the files which are comments (begin with ""!"") will be
    stripped from the file before the comparison is made.

  Options
    "-B"
        Use this option to *suppress* the banner which is printed before the
        diff output. Of course, no banner is printed anyway if there's no
        difference between the two files being compared. The banner looks
        like:

         ~~~ Config diff for device 192.0.2.1
         ===================================================================

        The device name in the banner depends on the name of the "right
        hand" file provided for comparison (that is, the second file name
        passed in the command line arguments). If there's an IP in the file
        name, it is resolved to a host name using the DNS and printed.
        Otherwise the IP is used, but if there's no IP then the file name
        itself is used.

         $> iosdiff -B from-this-file to-this-file

CONFIGURATION
    You can provide a file with a list of devices to ignore. If the device
    having its configuration diffed is mentioned in the file, the program
    exits silently.

    The name of the device is the "right hand" file provided for comparison
    (that is, the second file name passed in the command line arguments).
    For RANCID, not that this will probably have a suffix of "".new"".

    The file used for this list is "/etc/iosdiff-ignore". Patches are
    welcome to make this feature smarter. Its contents should be one name
    per line, only.

RANCID INTEGRATION
    If you use RANCID with Subversion, edit the RANCID user's
    "~/.subversion/config" to contain the following line:

     diff-cmd=iosdiff

    The effect will be that this program is called instead of the system
    diff utility, and smarter output produced in email notices.

CAVEATS
  RANCID
    Unfortunately where the difference between files is within the comments
    lines, RANCID will emit a notice about the difference, but you'll get
    nothing more. That's because comments are ignored by this program. The
    fix would be to patch RANCID to spot when the diff program emits no
    output.

    Also, if you use RANCID for devices which do not save IOS-style
    configuration files, then setting "diff-cmd=iosdiff" will probably not
    be as useful. There is no workaround, as it's a global setting for
    RANCID.

  Use with "patch" Utility
    The contextual diff output produced by this program is not suitable as
    input to the "patch" utility.

AUTHOR
    Oliver Gorwits <[email protected]>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2011 by University of Oxford.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

app-iosdiff's People

Contributors

ollyg avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.