Great questions!

I think the best way to answer the question is to describe what each one is.  I will start with Cisco ONE.

Cisco ONE

ONE stands for "Open Network Environment".  The idea is to allow programmability of the network and the network elements.  This allows for consistency across both physical and virtual network environments.  The way that Cisco ONE accomplishes this is to bring the Open Networking Foundation works together with the following tool sets:

  • OnePK (the API for NX-OS, IOS, and IOS-XR)
  • Software Defined Networks/OpenFlow (Cisco has created its own controller and agent and introduced it in the Cat3K switches)
  • Overlay Virtual Networks (Cloud focus, hypervisor agnostic, using VxLAN and NX1000v)

So Cisco ONE is Automation and Orchestration of the network to meet various application requirements.  You can see that OnePK is part of the Cisco ONE ecosystem.

Now let's talk more specifically about OnePK.

Cisco OnePK

Consider the following customer problem: How can I have new ways to control/program/configure my network and its elements to meet application specific requirements?

What OnePK (One Platform Kit) does is provide a rich and programmable service set APIs (Application Programmable Interfaces) to create a set of tools that can control the network infrastructure.  This means that the new network engineer can write a C or Java program that can manipulate:

  • Data Path (copy, inject, punt packets)
  • Discovery
  • Utilities
  • Policy Routing (create new and different routing decisions)

They write the program and OnePK provides a seamless interface to all Cisco operating systems NX-OS, IOS-XR, and/or IOS via consistency in verb usage.  So the new network engineer does not worry about syntax and CLI.  

OnePK then becomes an interface like Visual Basic does when used in Excel or another analogy would be macros in Word.  The routers and switches become programmable devices and OnePK transcends the need to manage each individual device.  Check out the following demo:

Some folks get confused between OnePK and OpenFlow.  OnePK is an API, whereas OpenFlow is a protocol.  I hope that demystifies the difference between those two.

I further hope that the definitions of Cisco ONE and OnePK clearly define how they are related and how they are different things.

Here are some links:

For developers:


Comments powered by CComment

The nicest thing you can do is use these inks to support us!  Thank you!

Support our research!

Become a Patron!

Support us by clicking: