# alune0xh/networking-tools architecture

> Architecture diagram of the GitHub repository alune0xh/networking-tools, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/alune0xh/networking-tools
- Repository: https://github.com/alune0xh/networking-tools

## Overview

This repository provides two standalone, interactive subnetting scripts. The principal workflows accept an IP address and subnet count, then print either subnet details or Cisco router configuration. The calculator supports Class A, B and C; the generator is limited to Class C and configures at most three subnets. The scripts do not import or invoke one another. The map reflects the shown source and README; each script’s stages share its implementation path because the logic is contained in a single file.

Main entry points: [`cisco_config_generator.py`](https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py) (Cisco Generator), [`subnet_calculator.py`](https://github.com/alune0xh/networking-tools/blob/main/subnet_calculator.py) (Subnet Calculator)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_user(("Network User"))
node_calculator["Subnet Calculator"]
node_calculator_logic["Subnet Logic"]
node_subnet_report["Subnet Report"]
node_config_generator["Cisco Generator"]
node_class_c_validation["Class C Validation"]
node_config_logic["Config Generation"]
node_router_commands["Router Commands"]

node_user -->|"enters inputs"| node_calculator
node_calculator -->|"calculates subnets"| node_calculator_logic
node_calculator_logic -->|"prints details"| node_subnet_report
node_user -->|"enters inputs"| node_config_generator
node_config_generator -->|"validates inputs"| node_class_c_validation
node_config_generator -->|"calls subnetting"| node_config_logic
node_config_logic -->|"prints commands"| node_router_commands

click node_calculator "https://github.com/alune0xh/networking-tools/blob/main/subnet_calculator.py"
click node_calculator_logic "https://github.com/alune0xh/networking-tools/blob/main/subnet_calculator.py"
click node_config_generator "https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py"
click node_class_c_validation "https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py"
click node_config_logic "https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_user toneBlue
class node_calculator,node_calculator_logic,node_config_generator,node_class_c_validation,node_config_logic toneTeal
class node_subnet_report toneIndigo
class node_router_commands toneMint
```

## Components

### Other components

- **Network User**
- [Subnet Calculator](https://github.com/alune0xh/networking-tools/blob/main/subnet_calculator.py): `subnet_calculator.py`
- [Subnet Logic](https://github.com/alune0xh/networking-tools/blob/main/subnet_calculator.py): `subnet_calculator.py`
- **Subnet Report**
- [Cisco Generator](https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py): `cisco_config_generator.py`
- [Class C Validation](https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py): `cisco_config_generator.py`
- [Config Generation](https://github.com/alune0xh/networking-tools/blob/main/cisco_config_generator.py): `cisco_config_generator.py`
- **Router Commands**

## Connections

- Network User → Subnet Calculator: enters inputs (evidence: `README.md`)
- Subnet Calculator → Subnet Logic: calculates subnets (evidence: `subnet_calculator.py`)
- Subnet Logic → Subnet Report: prints details (evidence: `subnet_calculator.py`)
- Network User → Cisco Generator: enters inputs (evidence: `README.md`)
- Cisco Generator → Class C Validation: validates inputs (evidence: `cisco_config_generator.py`)
- Cisco Generator → Config Generation: calls subnetting (evidence: `cisco_config_generator.py`)
- Config Generation → Router Commands: prints commands (evidence: `cisco_config_generator.py`)
