README.md in netutils-0.1.1 vs README.md in netutils-0.1.2
- old
+ new
@@ -1,36 +1,92 @@
# Netutils
-Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/netutils`. To experiment with that code, run `bin/console` for an interactive prompt.
+Netutils is a set of utilities to operate network equipment such as routers, switches, firewalls, wireless controller and so on.
+Netutils currently can:
+* automatically find network equipment,
+* collect configurations,
+* deploy certificate files to switches,
+* reboot switches in safer order,
+* locate a switch and port to which a host connects to,
+* add/delete a MAC address filter,
+* shut down or bring up a port, and so on.
-TODO: Delete this and the text above, and describe your gem
+## Features
+* vendor lock free
+* multiple accounts support
+* auto neighbor discovery using Link Layer Discovery Protocol (LLDP) and Cisco Discovery Protocol (CDP)
+* static neighbor definition support
+
+## Acutually Tested Equipment
+
+* Cisco
+ * C1812J, catalyst 6500, 3560, 2960
+* AlaxalA
+ * AX8600, AX3800, AX3650, AX2530, AX2200, AX620
+* Palo Alto Networks
+ * PA-5220, PA-3020, PA-850
+* Aruba wireless LAN controller
+ * Aruba7210-JP
+* NEC IX series
+ * IX2215, Palo Alto Networks
+
## Installation
-Add this line to your application's Gemfile:
+ $ git clone https://github.com/ohmori7/netutils
+ $ cd netutils
+ $ bundle install
+ $ cp config/config-sample.rb config/config.rb
+ $ vi config/config.rb
-```ruby
-gem 'netutils'
-```
+## Usage
-And then execute:
+ $ bundle exec netutils/bin/config-gets
+ $ bundle exec netutils/bin/alaxala-deploy
+ $ bundle exec netutils/bin/host-locate-on-demand
+ $ bundle exec netutils/bin/acl
+ $ bundle exec netutils/bin/port-shutdown
- $ bundle
+## Example
-Or install it yourself as:
+For example, one can locate a host of a given IP address as follows:
- $ gem install netutils
+ $ bundle exec bin/host-locate-on-demand 10.0.0.1
+ locating directly connected router for 10.0.0.1...
+ "tottori-c01" (192.168.0.1)
+ resolving MAC address for 10.0.0.1... found
+ 10.0.0.1 dead.beef.dead on VRF "1" VLAN1001
+ locating MAC address dead.beef.dead...
+ tottori-c01 (192.168.0.1) GigabitEthernet 0/1
+ koyama-e01 (192.168.0.2) GigabitEthernet 0/24
-## Usage
+For more detailed information, please consult with a help message of a command.
-TODO: Write usage instructions here
+## Why not SNMP???
+Ones may think why SNMP is not used to automatically find network equipment.
+The reason is that we have experienced network stalls due to SNMP.
+Receiving the small number of SNMP packets, our core switch, Cisco catalyst 6500, could not forward any packets due to high CPU utilization even there was no SNMP configuration enabled.
+This was a design issue that all SNMP packets were always punt to CPU of a routing engine.
+We have then decided to employ LLDP and CDP instead of SNMP.
+
+## TODO
+
+* clean up code, name space issues, and switch class method abandon
+* more gemification
+* remove global methods
+* use yaml for configuration
+* out-of-band CLI output message handling (partially done but..)
+* restructure class methods and variables
+* introduce test codes
+* more product support
+* netconf or other REST API support
+
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
-Bug reports and pull requests are welcome on GitHub at https://github.com/ohmori7/netutils. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
-
+Bug reports and pull requests are welcome on GitHub at https://github.com/ohmori7/netutils.