Skip to content

BRCDcomm/perlbscsamples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

perlbscsamples

Sample applications demonstrating use of perlbsc to monitor/configure network via Brocade SDN Controller (Brocade SDN Controller).

Documentation:

Pre-requisites:

Installation

   git clone https://github.com/BRCDcomm/perlbscsamples.git

Brocade SDN Controller Version Support:

  • 1.3.0 folder has been tested with Brocade SDN Controller 1.3.0 and perlbsc 1.0.4

Sample Apps

  • 1.3.0/sample_openflow/demos/

    • demo_1.pl: Get list of OpenFlow nodes and provide generic info for each.
    • demo_2.pl: Get detailed info about node with specific name (default node name is openflow:1).
    • demo_3.pl: Get detailed info about ports on a node with specific name (default node name is openflow:1).
    • demo_4.pl: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, IPv4 destination 10.11.12.13/24 Action: Drop
    • demo_5.pl: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x800, IPv4 source 10.11.12.13/24 Action: Drop
    • demo_6.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: Add/remove flow to openflow:1 node that pushes ethernet type VLAN traffic to a particular VLAN ID and port
    • demo_16.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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.pl: 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)
    • demo_25.pl: Add/remove flow to openflow:1 node that Match: Ethernet Type 0x8847, VLAN ID: 998, In port 110 Action: Push VLAN: , Set Field VLAN ID: 998, Output 111
    • demo_26.pl: Add/remove multiple flows to openflow:1 node.
  • 1.3.0/sample_netconf/demos

    • controller_demo_1.pl: List of YANG models supported by the Controller.
    • controller_demo_2.pl: Retrieve specific YANG model definition from the Controller.
    • controller_demo_3.pl: List of service provider applications on the controller.
    • controller_demo_4.pl: Retrieve specific service provider info.
    • controller_demo_5.pl: List of all NETCONF operations supported by the Controller.
    • controller_demo_6.pl: Show operational state of all configuration modules on the Controller.
    • controller_demo_7.pl: Show operational state of a particular configuration module.
    • controller_demo_8.pl: Show active sessions on the Controller.
    • controller_demo_9.pl: Show notification event streams registered on the Controller.
    • controller_demo_10.pl: Add/remove a NETCONF node to the controller.
    • vr_demo_1.pl: Get supported models of vRouter connected to Controller.
    • vr_demo_2.pl: Get definition of specific model of vRouter connected.
    • vr_demo_3.pl: Get vRouter configuration.
    • vr_demo_4.pl: Get firewall configuration for vRouter.
    • vr_demo_5.pl: Get information on dataplane interfaces configured on vRouter.
    • vr_demo_6.pl: Get information on loopback interfaces configured on vRouter".
    • vr_demo_7.pl: Create complex firewalls for vRouter
    • vr_demo8: adds and removes a VPN configuration for Remote Access VPN Configuration Example - L2TP/IPsec with Pre-Shared Key
    • vr_demo9: adds and removes a VPN configuration for Remote Access VPN Configuration Example - L2TP/IPsec with X.509 Certificates
    • vr_demo10: adds and removes a VPN configuration for site-to-site VPN with pre-shared key (PSK) authentication
    • vr_demo11: adds and removes a VPN configuration for site-to-site VPN with RSA Digital Signature authentication
    • vr_demo12: adds and removes a VPN configuration for Site-to-Site VPN Configuration - X.509 Certificate Authentication
    • vr_demo13: adds and removes a vtun0 OpenVPN tunnel for Site-to-Site Mode with Preshared Secret
    • vr_demo14: adds and removes a vtun0 OpenVPN tunnel for Site-to-Site Mode with TLS
  • 1.3.0/sample_netconf/cmds

    • mount.pl: Mount the vRouter onto Controller.
    • show_cfg.pl: Show config of vRouter.
    • show_ctrl_yangmodel.pl: Return a specified YANG model.
    • show_ctrl_yangmodels.pl: Display a list of available YANG models in Controller..
    • show_dpifcfg.pl: List configuration of each dataplane interface in vRouter.
    • show_dpiflist.pl: List dataplane interfaces of vRouter.
    • show_firewallcfg.pl: Show firewall configuration of vRouter.
    • show_iflist.pl: List interfaces of vRouter.
    • show_lbifcfg.pl: List configuration of each loopback interface in vRouter.
    • show_lbiflist.pl: List loopback interfaces of vRouter.
    • show_mount.pl: List NETCONF nodes mounted on controller and their connection status.
    • show_nodeinfo.pl: List info about node specified in config.yml file.
    • show_nodelist.pl: List all nodes known by the Controller.
    • show_yangmodel.pl: Return a specified YANG model from vRouter device.
    • show_yangmodels.pl: Display a list of available YANG models in vRouter device.
    • unmount.pl: Unmount the vRouter specified in config.yml file.

About

Sample applications demonstrating use of perlbsc (https://github.com/brcdcomm/perlbsc -- a perl support library for Brocade SDN Controller) to monitor/configure network via Brocade SDN Controller. Scroll down for more info.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages