HomePhabricator

Cisco Switch/Router Interface management

Authored by Brice Figureau <brice-puppet@daysofwonder.com>.

Description

Cisco Switch/Router Interface management

This patch introduces managing remotely cisco IOS network devices
through ssh or telnet with a puppet type/provider.

This patch allows to manage router/switch interface
with the interface type:

interface {
"FastEthernet 0/1":

		device_url => "ssh://user:pass@cisco2960.domain.com/",
		mode => trunk,
		encapsulation => dot1q,
		trunk_allowed_vlans => "1-99,200,253",
		description => "to back bone router"

}

It is possible with this patch to set interface:

  • mode (access or trunk)
  • native vlan (only for access mode)
  • speed (auto or a given speed)
  • duplex (auto, half or full)
  • trunk encapsulation
  • allowed trunk vlan
  • ipv4 addresses
  • ipv6 addresses
  • etherchannel membership

The interface name (at least for the cisco provider) can be any
shorthand interface name a switch or router can use.

The device url should conform to:

  • scheme: either telnet or ssh
  • user: can be absent depending on switch/router line config
  • pass: must be present
  • port: optional
  • an optional enable password can be mentioned in the url query string

Ex:
To connect to a switch with a line password and an enable password:
"telnet://:letmein@cisco29224XL.domain.com/?enable=letmeinagain"

To connect to a switch/router through ssh and a privileged user:
"ssh://brice:letmein@cisco1841L.domain.com/"

Note:
This patch only includes a Cisco IOS provider. Also terminology adopted
in the various types are mostly the ones used in Cisco devices.
This patch was tested against:

  • (really old) Cisco switch 2924XL with ios 12.0(5)WC10
  • Cisco router 1841 with ios 12.4(15)T8
  • Cisco router 877 with ios 12.4(11)XJ4
  • Cisco switch 2960G with ios 12.2(44)SE

Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>

Details

Committed
James TurnbullApr 8 2011, 8:19 AM
Parents
rODCA596571fd2b03: Base class for network device based providers
Branches
Unknown
Tags
Unknown
ChangeId
None

Event Timeline

James Turnbull <james@lovedthanlost.net> committed rODCA1cb18410732a: Cisco Switch/Router Interface management (authored by Brice Figureau <brice-puppet@daysofwonder.com>).Apr 8 2011, 8:19 AM