This REST API that I had a hand in (more like both hands in) for the Vyatta router (also known as the Vyatta Remote Access API) was a complete rewrite of a more traditional XML state-aware API (and which replaced an even earlier version).
In retrospect, given the progression of versions it was with REST that the simplest HTTP based API was designed. I'd even say that the work was well focused due to REST constraints applied to the design of the interface.
Thursday, January 27, 2011
Thursday, January 20, 2011
Web performance tool, simply and quickly: Pylot
Here's a tool I've used a few times, and each time it delivered what I wanted with minimal fuss. And in the world of development tools there's something to said about that. It's a simple straightforward http request/response performance/timing tool. But one that packs enough features to be useful in a variety of situations.
Thursday, January 13, 2011
Communicating with the Kernel via Netlink, Part II
OK--continuing on from where we left off with part I. The previous post ran through key details of the overall layout of the objects, aspects of the Netlink interface and some source snippets from the listener and sender classes. This time I want to cover the event object and parsing of the netlink data object. Plus, source code is located at the end of this article.
Friday, January 7, 2011
Communicating with the Kernel via Netlink, Part I
This is a simple C++ class wrapper that interacts with the Linux Netlink interface. It's good all by itself or as a source code jumping off point, so to speak. The specific implementation was designed to work at the layer 2 and layer 3 OSI layer.
Just to give you an idea--here's an example of the output this program generates when started up and dumping the state of the interfaces:
Just to give you an idea--here's an example of the output this program generates when started up and dumping the state of the interfaces:
results for lo(1) type: NEWLINK state: UP running: yes enabled: yes mtu: 16436 mac: 00:00:00:00:00:00 results for eth0(2) type: NEWLINK state: UP running: yes enabled: yes mtu: 1500 mac: 08:00:27:41:DE:23 results for lo(1) type: NEWADDR addr: 127.0.0.1 broadcast: 0.0.0.0 mask length: 8 results for eth0(2) type: NEWADDR addr: 10.3.0.185 broadcast: 10.3.0.255 mask length: 24 results for eth0(2) type: NEWADDR addr: 1.1.1.1 broadcast: 0.0.0.0 mask length: 20
Subscribe to:
Posts (Atom)