Windows BGP Router

Yes, You can run BGP in Windows Server and even peer it with Cisco BGP router.

Use Cases:

Powershell BGP commands Reference:

More with Lab from Packet Thrower  Blog:

Fun with Windows – BGP Routing

Basic Powershell commands to remember, Let’s Assume we had the following topology:


To Adds a BGP router for the specified Tenant ID:
Add-BgpRouter -BgpIdentifier -LocalASN 100

To Adds a new BGP peer:
Add-BgpPeer -Name CiscoR2 -LocalIPAddress -PeerIPAddress -LocalASN  100 -PeerASN 200 -PeeringMode Automatic

To Adds custom routes to the BGP routing table:
Add-BgpCustomRoute -Network

To Retrieves BGP peering-related message and route advertisement statistics:

Remember, before typing above PS commands you should install “Remote Access Role” then “Routing Role Services“.

Then go to Routing and Remote Access Console
Right-click your domain name, then
choose “configure and enable routing and remote access
click next
choose “Custom Configuration” then choose “LAN Routing

Cisco ISE/Firepower Tip: pxGrid

Cisco ISE/Firepower Tip:
Cisco Platform Exchange Grid (pxGrid)
With Cisco pxGrid (Platform Exchange Grid), your multiple security products can now share data and work together. This open, scalable, and IETF standards-driven platform helps you automate security to get answers and contain threats faster.


Its one API create a grid (net) where many Cisco Security products such as ISE/Firepower or even non-Cisco products as well can talk and share information with each other
for a list of non-cisco products:

What’s new in pxGrid 2.0?
pxGrid now uses WebSockets and REST API over the STOMP messaging protocol. This means no more dependency on the SDK and Java and C libraries. The development platform is open as long as it supports WebSockets and REST API over STOMP. This also further increases pxGrid scalability.

pxGrid Video!getting-started/getting-started



300-550 NPDESI Tip

300-550 NPDESI Tip
Designing and Implementing Cisco Network Programmability:

API [application programming interface] is a piece of software code that can make two applications talk to each other, for instance, imagine that you create an application to track public tweets and it should instantly display public tweets and their location in google map to your application users.
In this case, my application will need two APIs , one to communicate with Google maps and one to communicate wit Tettwer.

But what about Network Devices?
Traditional methods to manage a network device are:

Nowadays, Programmatic methods to manage network devices use APIs such as:
(which uses HTTP, and HTTPS to make command line calls to the network device and supports the XML and JSON encoding formats.)
-REST [it use HTTP methods such as GET & POST]

Check Cisco platforms and their corresponding API(s) in the pics

cisco api