Archive

Category Archives for "Networking"

Sharing Failure as a Learning Model

Earlier this week there was a great tweet from my friends over at Juniper Networks about mistakes we’ve made in networking:

It got some interactions with the community, which is always nice, but it got me to thinking about how we solve problems and learn from our mistakes. I feel that we’ve reached a point where we’re learning from the things we’ve screwed up but we’re not passing it along like we used to.

Write It Down For the Future

Part of the reason why I started my blog was to capture ideas that had been floating in my head for a while. Troubleshooting steps or perhaps even ideas that I wanted to make sure I didn’t forget down the line. All of it was important to capture for the sake of posterity. After all, if you didn’t write it down did it even happen?

Along the way I found that the posts that got significant traction on my site were the ones that involved Continue reading

Heavy Networking 595: Detect, Diagnose, And Act With Opmantek’s Automated Network Management Software (Sponsored)

In today's sponsored Heavy Networking show, we talk to Opmantek about NMIS, an intelligent network management platform that spans monitoring, visibility, automation, and configuration management. Our guest is Opmantek CTO Keith Sinclair.

The post Heavy Networking 595: Detect, Diagnose, And Act With Opmantek’s Automated Network Management Software (Sponsored) appeared first on Packet Pushers.

Comcast grabs SD-WAN specialist Masergy

Comcast is certainly serious about boosting its corporate networking business. Or the cord cutters are really causing some damage. Maybe both. Either way, Comcast Business just announced plans to acquire privately-held Masergy Communications, an SD-WAN and cloud-based security specialist.Comcast is a public company, but Masergy is not, so terms of the deal were not disclosed. Masergy was acquired by private equity firm Berkshire Partners in 2016.To read this article in full, please click here

44 – The Essentials of DCNM 11

Good day everyone,

I have recorded 6 different modules aimed at giving you a good understanding of the key functions that DCNM 11 offers to manage, automate and operate your data center network.

While waiting for the new version 12 coming soon, this series of modules covers the Essentials of Data Center Network Manager  (DCNM™) version 11.

By “Essentials” the mean is that it covers the most features needed for all enterprises, from small legacy Data Center Network to multiple modern Fabrics or a mix of. This essential series of modules covering DCNM 11 emphases the Classic LAN as well as the VXLAN EVPN Fabric environments. Indeed, any network team can benefit from the advantages of leveraging the same and unique platform to operate a classic based data center network or a modern VXLAN EVPN based fabric or a mixture of the both.

I have developed the content for the lectures on DCNM 11 and 10.1(n) environment.

If you are not yet familiar with DCNM™, you can read previous posts, otherwise, DCNM is the leading Intent-Based Networking solution for Standalone NX-OS based Data Center. It encompasses the comprehensive management solution for all NX-OS network deployments Continue reading

Pin, Unpin, and why Rust needs them

Pin, Unpin, and why Rust needs them
Pin, Unpin, and why Rust needs them

Using async Rust libraries is usually easy. It's just like using normal Rust code, with a little async or .await here and there. But writing your own async libraries can be hard. The first time I tried this, I got really confused by arcane, esoteric syntax like T: ?Unpin and Pin<&mut Self>. I had never seen these types before, and I didn't understand what they were doing. Now that I understand them, I've written the explainer I wish I could have read back then. In this post, we're gonna learn

  • What Futures are
  • What self-referential types are
  • Why they were unsafe
  • How Pin/Unpin made them safe
  • Using Pin/Unpin to write tricky nested futures

What are Futures?

A few years ago, I needed to write some code which would take some async function, run it and collect some metrics about it, e.g. how long it took to resolve. I wanted to write a type TimedWrapper that would work like this:

// Some async function, e.g. polling a URL with [https://docs.rs/reqwest]
// Remember, Rust functions do nothing until you .await them, so this isn't
// actually making a HTTP request yet.
let async_fn = reqwest::get("http://adamchalmers.com");

// Wrap the  Continue reading