Friday, November 8, 2013

[Puppet] The studying track of Puppet

After taking some time to study Puppet a while, I become to believe more and more that it is a great auto configuration tool. The following URLs are my studying track of Puppet.

For the beginner, it is recommended to walk through for learning the basic concept
Learning Puppet
http://docs.puppetlabs.com/learning/index.html

Once you finish the above document, you probably want to do your own type and provider. Here you go:
Customer Type
http://docs.puppetlabs.com/guides/custom_types.html
Provider Development
http://docs.puppetlabs.com/guides/provider_development.html

Juniper provides its open source project for using Puppet to manage and configure the switches that support Puppet Agent. It is a very good example for you to understand how to define customer type and to implement provider.

To define customer type:
https://github.com/NetdevOps/puppet-netdev-stdlib
To implement provider:
https://github.com/Juniper/puppet-netdev-stdlib-junos

Monday, November 4, 2013

[OpenFlow 1.X] The Flow Table Usage

When OpenFlow 1.0 guys try to reach the version 1.1 or more, the first question coming up with would most likely be "how to use multi-flow tables ?" Well, we could see an example in RYU OpenFlow Controller as follow: http://www.slideshare.net/yamahata/ryu-sdnframeworkupload
In page 33, there are 3 flow tables which contains match conditons and actions. It can give an initial idea for that question.






P.S: Pica8 works with Broadcom to double flow table size in its OF1.3 Switch
http://searchsdn.techtarget.com/news/2240214709/Pica8-doubles-flow-rule-capacity-in-its-new-OpenFlow-13-switch

Wednesday, October 30, 2013

[Trema] A good example with Trema to build OpenFlow Controller ( use case )

Previously I just wondered how to use Trema to build a useful and piratical solution with a good architecture for users to leverage its functionality. Well, it does exist. The following URL is a good example of a good use case containing a good architecture.
http://www.slideshare.net/chibayasunobu/developing-production-open-flow-controller-with-trema-201304160

Source Code:
https://github.com/trema/virtual-network-platform


Design:


Implementation:

Friday, October 25, 2013

[Network] EtherTypes Reference

802 EtherTypes Reference:

0x0000
-
0x05DC
IEEE 802.3 length.
0x0600XEROX NS IDP.
0x0660
0x0661
DLOG.
0x0800IP, Internet Protocol.
0x0801X.75 Internet.
0x0802NBS Internet.
0x0803ECMA Internet.
0x0804Chaosnet.
0x0805X.25 Level 3.
0x0806ARP, Address Resolution Protocol.
0x0807XNS compatability.
0x0808Frame Relay ARP.
0x8035DRARP, Dynamic RARP.
RARP, Reverse Address Resolution Protocol.
0x80F3AARP, AppleTalk Address Resolution Protocol.
0x8100EAPS, Ethernet Automatic Protection Switching.
0x8137IPX, Internet Packet Exchange.
0x814CSNMP, Simple Network Management Protocol.
0x86DDIPv6, Internet Protocol version 6.
0x8808MPCP, Multi-Point Control Protocol.
0x880BPPP, Point-to-Point Protocol.
0x880CGSMP, General Switch Management Protocol.
0x8847MPLS, Multi-Protocol Label Switching (unicast).
0x8848MPLS, Multi-Protocol Label Switching (multicast).
0x8863PPPoE, PPP Over Ethernet (Discovery Stage).
0x8864PPPoE, PPP Over Ethernet (PPP Session Stage).
0x886FNetwork Load Balancing.
0x888EEAPOL, EAP over LAN.
0x88A2AoE, ATA over Ethernet.
0x88A4EtherCAT.
0x88CATIPC, Transparent Inter Process Communication Protocol.
0x88BBLWAPP, Light Weight Access Point Protocol.
0x88CCLLDP, Link Layer Discovery Protocol.
0x88DCWSMP, WAVE S

Monday, October 21, 2013

[Static Analysis] Tools for static analysis ( C/C++ )

Here are the list of some software tools for static analysis ( C/C++ ). FYI.
  • Klocwork Insight ( Commercial )
  • Cppcheck
  • LintProject Pro
  • scan-build