Sample applications demonstrating use of rubybvc to monitor/configure network via Brocade Vyatta Controller (BVC).
git clone https://github.com/BRCDcomm/rubybvcsamples.git
- 1.3.0 folder has been tested with BVC 1.3.0
- 1.3.0/sample_openflow/demos/
- demo_1.rb: Get list of OpenFlow nodes and provide generic info for each.
- demo_2.rb: Get detailed info about node with specific name (default node name is openflow:1).
- demo_3.rb: Get detailed info about ports on a node with specific name (default node name is openflow:1).
- demo_4.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, IPv4 destination 10.11.12.13/24 Action: Drop
- demo_5.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, IPv4 source 10.11.12.13/24 Action: Drop
- demo_6.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x2d, Ethernet source 00:00:00:00:23:ae, Ethernet destination ff:ff:ff:ff:ff:ff Action: drop
- demo_7.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:1a:1b:00:22:aa, Ethernet destination 00:2b:00:60:ff:f1, IPv4 source 44.44.44.1/24, IPv4 destination 55.55.55.1/16, Input Port 13 Action: Output (controller)
- demo_8.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:1c:01:00:23:aa, Ethernet destination 00:02:02:60:ff:fe, IPv4 source 10.0.245.1/24, IPv4 destination 192.168.1.123/16, IP Protocol Number 56, IP DSCP 15, Input Port 1 Action: Output (controller)
- demo_9.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:00:00:11:23:ae, Ethernet destination ff:ff:29:01:19:61, IPv4 source 17.1.2.3/8, IPv4 destination 172.168.5.6/16, IP Protocol Number 6, IP DSCP 2, TCP Source Port 25364, TCP Destination Port 8080, Input Port 13 Action: Output (normal)
- demo_10.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:00:00:11:23:ae, Ethernet destination 20:14:29:01:19:61, IPv4 source 192.1.2.3/10, IPv4 destination 172.168.5.6/18, IP Protocol Number 17, IP DSCP 8, IP ECN 3, UDP Source Port 25364, UDP Destination Port 8080, Input Port 13 Action: Output (normal)
- demo_11.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:00:00:11:23:ae, Ethernet destination 00:ff:20:01:1a:3d, IPv4 source 17.1.2.3/8, IPv4 destination 172.168.5.6/18, IP Protocol Number 1, IP DSCP 27, IP ECN 3, ICMPv4 Type 6, ICMPv4 Code 3, Input Port 10 Action: Output (normal)
- demo_12.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x806, Ethernet source 11:ab:fe:01:03:31,Ethernet destination ff:ff:ff:ff:ff:ff, ARP Operation 1,ARP source IPv4 192.168.4.1, ARP target IPv4 10.21.22.23ARP source hardware address 12:34:56:78:98:ab,ARP target hardware address fe:dc:ba:98:76:54 Action: Output (controller)
- demo_13.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:00:00:11:23:ad,Ethernet destination 00:ff:29:01:19:61, VLAN ID 100, VLAN PCP 3 Action: Output (controller)
- demo_14.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, Ethernet source 00:00:00:AA:BB:CC, Ethernet destination FF:FF:AA:BC:ED:FE, Input port 5 Action: Push VLAN / Set Field (VLAN ID 100) / Output (physical port)
- demo_15.rb: Add/remove flow to openflow:1 node that pushes ethernet type VLAN traffic to a particular VLAN ID and port
- demo_16.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x86dd, IPv6 Source fe08::2acf:e9ff:fe21:6431/128, IPv6 Destination aabb:1234:2acf:e9ff::fe21:6431/64 Action: Output (controller)
- demo_17.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x86dd, IPv6 Source fe80::2acf:e9ff:fe21:6431/128, IPv6 Destination aabb:1234:2acf:e9ff::fe21:6431/64, IP DSCP 8, UDP Source Port 25364, UDP Destination Port 7777 Action: Output (controller)
- demo_18.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x86dd, IPv6 Source 2001::2acf:e9ff:fe21:6431/80, IPv6 Destination 2004:1234:2acf:e9ff::fe21:6431/64, IP DSCP 8, TCP Source Port 12345, TCP Destination Port 54321 Action: Output (controller)
- demo_19.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x86dd, IPv6 Source 4321::3210:3210:3210:3210/80, IPv6 Destination 1234:1234:1234:1234::5678:5678/64, IPv6 Flow Label 33, IP DSCP 60, TCP Source Port 11111, TCP Destination Port 22222 Action: Output (controller)
- demo_20.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x86dd, IPv6 Source 1234:5678:9ABC:DEF0:FDCD:A987:6543:210F/76, IPv6 Destination 2000:2abc:edff:fe00::3456/94, IPv6 Flow Label 15, IP DSCP 60, IP ECN 3, ICMPv6 Type 6, ICPMv6 Code 3, Metadata: 0x0123456789ABCDEF Action: Output (controller)
- demo_21.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x86dd, IPv6 Source 1234:5678:9ABC:DEF0:FDCD:A987:6543:210F/76, IPv6 Destination 2000:2abc:edff:fe00::3456/94, IPv6 Flow Label 7, IP DSCP 60, IP ECN 3, TCP Source 1831, TCP Destination 100610, Metadata: 123456789 Action: Output (controller)
- demo_23.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x8847, MPLS Label 0x1b In port 13 Action: Set Field (MPLS Label 44, Output (Physical Port Number 14)
- demo_24.rb: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x8847, MPLS Label 0x2c In port 14 Action: Pop MPLS (Ethernet Type 34887, Output (Physical Port Number 13)
- 1.3.0/sample_netconf/demos
- controller_demo_1.rb: List of YANG models supported by the Controller.
- controller_demo_2.rb: Retrieve specific YANG model definition from the Controller.
- controller_demo_3.rb: List of service provider applications on the controller.
- controller_demo_4.rb: Retrieve specific service provider info.
- controller_demo_5.rb: List of all NETCONF operations supported by the Controller.
- controller_demo_6.rb: Show operational state of all configuration modules on the Controller.
- controller_demo_7.rb: Show operational state of a particular configuration module.
- controller_demo_8.rb: Show active sessions on the Controller.
- controller_demo_9.rb: Show notification event streams registered on the Controller.
- controller_demo_10.rb: Add/remove a NETCONF node to the controller.
- vr_demo_1.rb: Get supported models of vRouter connected to Controller.
- vr_demo_2.rb: Get definition of specific model of vRouter connected.
- vr_demo_3.rb: Get vRouter configuration.
- vr_demo_4.rb: Get firewall configuration for vRouter.
- vr_demo_5.rb: Get information on dataplane interfaces configured on vRouter.
- vr_demo_6.rb: Get information on loopback interfaces configured on vRouter".
- vr_demo_7.rb: Create complex firewalls for vRouter
- 1.3.0/sample_netconf/commands
- mount.rb: Mount the vRouter onto Controller.
- show_cfg.rb: Show config of vRouter.
- show_ctrl_yangmodel.rb: Return a specified YANG model.
- show_ctrl_yangmodels.rb: Display a list of available YANG models in Controller..
- show_dpifcfg.rb: List configuration of each dataplane interface in vRouter.
- show_dpiflist.rb: List dataplane interfaces of vRouter.
- show_firewallcfg.rb: Show firewall configuration of vRouter.
- show_iflist.rb: List interfaces of vRouter.
- show_lbifcfg.rb: List configuration of each loopback interface in vRouter.
- show_lbiflist.rb: List loopback interfaces of vRouter.
- show_mount.rb: List NETCONF nodes mounted on controller and their connection status.
- show_nodeinfo.rb: List info about node specified in config.yml file.
- show_nodelist.rb: List all nodes known by the Controller.
- show_yangmodel.rb: Return a specified YANG model from vRouter device.
- show_yangmodels.rb: Display a list of available YANG models in vRouter device.
- unmount.rb: Unmount the vRouter specified in config.yml file.