惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
G
Google Developers Blog
Spread Privacy
Spread Privacy
I
InfoQ
V
V2EX
S
Schneier on Security
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
L
Lohrmann on Cybersecurity
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Attack and Defense Labs
Attack and Defense Labs
云风的 BLOG
云风的 BLOG
The Hacker News
The Hacker News
S
SegmentFault 最新的问题
C
Cybersecurity and Infrastructure Security Agency CISA
NISL@THU
NISL@THU
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
Latest news
Latest news
S
Secure Thoughts
Project Zero
Project Zero
MongoDB | Blog
MongoDB | Blog
I
Intezer
Security Latest
Security Latest
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
N
Netflix TechBlog - Medium
V2EX - 技术
V2EX - 技术
量子位
T
Threatpost
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
T
Tor Project blog
A
Arctic Wolf
Microsoft Security Blog
Microsoft Security Blog
T
The Exploit Database - CXSecurity.com
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Check Point Blog
博客园 - Franky
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
The GitHub Blog
The GitHub Blog
L
LINUX DO - 热门话题

Comments for Cisco Blogs

Don’t Dim Your Light: How Service Became My Career Compass Voices from the field: How data strengthens livelihoods in coastal communities Cisco Cloud Control: The Secure Harness for the Agentic Era A new model for infrastructure security: How Cisco defends against AI threats Built like a startup, scaled like Cisco: Transforming data center cooling for the AI era How I Turned My Curiosity into a Patent Being the Human API: My Journey as a Developer Advocate Being the Human API: My Journey as a Developer Advocate Being the Human API: My Journey as a Developer Advocate From Receptionist to Project Lead: My Non-Linear Cisco Career Journey Streamlining CML Testing with Python, Tkinter, and Community Innovation I Run OpenClaw at Home. That’s Exactly Why We Built DefenseClaw. What OpenAI’s Enterprise AI Report Reveals—and What It Means for Your Enterprise Network Analytics Context Engineering for LLM
Streamlining CML Testing with Python, Tkinter, and Community Innovation
Hari Natarajan · 2026-03-31 · via Comments for Cisco Blogs

Testing network topologies in Cisco Modeling Labs (CML) is essential for engineers, architects, and instructors who want to validate designs or experiment with new configurations. The testing process often starts with setting up basic routing protocol configurations every single time, which can be tedious. Now, with Python and Tkinter, our team is working to make this repetitive task a thing of the past and bring significant benefits to the CML community.

The challenge: Time-consuming configuration

When working with CML to simulate network topologies, users typically spend a lot of time configuring foundational settings. Whether you’re building a three-tier enterprise setup, a service MPLS network, or a simple three-router topology to test a certain feature, the initial work is nearly always monotonous, involving:

  • Assigning point-to-point IPs and loopbacks
  • Enabling routing protocols (OSPF, EIGRP, IS-IS, BGP)
  • Repeating the same base configuration for both IPv4 and IPv6 environments

These unexciting, decade-old configurations are necessary, but what if we could have a ready-made lab with pre-loaded basic configurations, all with just a few clicks?

Solution: Automation with Python and Tkinter

As a solution, we developed a Python script with a Tkinter-based graphical interface. Here’s how the script works and why it’s exciting:

  • User-friendly GUI: With Tkinter, users can visually design their topology by selecting the number of routers, defining links, and choosing which routing protocols (e.g., OSPF, BGP, or MPLS) to apply to each connection.
  • Automatic config generation: Once users make their selections, the script generates standardized configuration files for each router, preloading the base settings.
  • Quick review and export: Users can review the generated configurations, make adjustments, and export them as YAML files ready for import into CML.
  • Plug-and-play in CML: The YAML file is imported into CML, instantly creating a topology with all the core configs in place—saving hours of manual configuration.

Why Tkinter?

Tkinter is Python’s standard GUI toolkit. It’s simple, lightweight, and perfect for quickly building desktop applications with interactive elements like dropdowns, tables, and buttons. For network engineers who may not be full-time software developers, Tkinter offers an approachable way to create tools that make everyday work easier.

User benefits include:

  • Speed and efficiency: No more manually typing out the same IP assignments and protocol stanzas for every new lab. With just a few clicks, users can spin up a fully configured topology, focusing their energy on what really matters: testing, learning, and innovating.
  • Consistency and reliability: Preloaded configurations reduce the risk of typos and misconfigurations. Every lab starts with a solid, predictable baseline.
  • Flexibility: The script supports different topologies (from 3 to 5 routers and beyond) and a wide array of protocols (including OSPF, EIGRP, BGP, IS-IS, MPLS, and more). Users can mix and match protocols per link for realistic, complex scenarios.
  • Community collaboration: By planning to contribute our script to the CML Community repository, we want to embrace open collaboration. Others can use, improve, and extend the tool—potentially adding support for non-Cisco devices, new protocols, or direct integration as a CML plugin.

Here are some examples of scenarios in which the script could be useful:

  • Instructor lab prep: An instructor quickly generates OSPF and BGP configs for a four-router CCNP lab, saving setup time before class.
  • Enterprise engineer testing: An engineer prototypes a new MPLS topology with preloaded LDP and BGP configs, focusing on advanced features rather than the basics.
  • Student practice: A student practicing for CCNA can spin up a variety of routing topologies, getting hands-on without the frustration of repetitive setup.

Community and evolution

The team is actively developing enhancements—support for advanced features such as GRE, IPsec, and deeper integration with various Cisco OS versions (IOS XE, XR, NX-OS) is on the roadmap. By sharing our work on the CML Community site, we hope to gather feedback and see how widely users adopt the solution. If there’s enough demand, we hope the script can one day become an official CML plugin, offering seamless automation for all users.

If you’re interested in trying the team’s script or contributing to its development, watch the CML Community repository and join the CML Community on the Cisco Learning Network so you don’t miss upcoming blog posts and webinars that showcase this tool in action. Here are some points to remember for future use:

  • The script is meant to reduce manual, repeatable work for CML users of all backgrounds (engineers, architects, instructors, and students).
  • Community feedback will help guide future features and integration paths.
  • While the script currently uses Tkinter for the interface, future versions may explore other integration methods with CML to achieve even smoother workflows.

Our initiative is a great example of how small automation tools can have a big impact. By leveraging Python and Tkinter, our team hopes to resolve a common challenge for CML users—freeing up valuable time and energy for genuine innovation and testing. We hope our contribution will further the CML culture of shared progress and continuous improvement in network simulation and design.

What do you think? Will you try Tkinter? Let us know in the comments!


Sign up for Cisco U. | Join the  Cisco Learning Network today for free.

Learn with Cisco

X | Threads | Facebook | LinkedIn | Instagram | YouTube

Use  #CiscoU and #CiscoCert to join the conversation.

Authors

Join Cisco Networking Academy

Prep for your first cert or your first career.