Commit Graph

19 Commits

Author SHA1 Message Date
Chris McCarthy
415ee3b3a7 Merge branch 'dev' into feature/1800_model-a-basic-router-subclass-of-node 2023-08-31 11:39:21 +01:00
Chris McCarthy
e73d7f49d6 #1800 - Fixed routing and processing of ICMP packets in the Router class 2023-08-31 11:03:38 +01:00
Chris McCarthy
1bf51c7741 #1800 - Added ACL and routing classes.
- Added .show() methods to new router classes to enable inspection of the components as you would a real router.
- Removed gateway from the NIC and added default_gateway to Node so that Node has a single default gateway.
- Added some routing tests to check that ping can be performed when router between subnets.
2023-08-30 21:38:55 +01:00
Marek Wolan
ae6e835955 Apply suggestions from code review. 2023-08-25 15:58:07 +01:00
Chris McCarthy
c6f71600fc #1800 - Fixed the ping functionality so that it actually checks for replies and returns True if the right number of replies have been received.
- Added the foundations of a Router class along with ACLRule and RouteTableEntry classes.
2023-08-25 09:07:32 +01:00
Marek Wolan
fec44aef53 Rename connect_nodes to connect and fix minor bug 2023-08-24 13:03:16 +01:00
Marek Wolan
a818de8f01 Add ability to connect nodes via the network. 2023-08-24 12:40:00 +01:00
Marek Wolan
01c912c094 fix type hints and describe state functions 2023-08-20 18:38:02 +01:00
Marek Wolan
6ca53803cd Describe state 2023-08-17 15:32:12 +01:00
Chris McCarthy
9ee0ef2fd6 #1706 - Applied some final changes from PR. Fixed the PCAP log name on SwitchPort so that a pcap file is generated for each port. 2023-08-10 13:26:51 +01:00
Chris McCarthy
ad81a81949 #1706 - Applied some code suggestions from the PR 2023-08-09 20:38:45 +01:00
Chris McCarthy
b46057841d #1706 - Refactored a bunch of if statements in base.py to improve readability 2023-08-09 20:31:42 +01:00
Chris McCarthy
a840159460 #1706 - Fixed the "smart" merging of SimComponent that PyCharm performed. Integrated the Filesystem class into the Node. Added prettytable to deps in pyproject.toml 2023-08-08 20:30:37 +01:00
Chris McCarthy
9fbc3c91f7 #1706 - Finished up the Node and Switch MVP. Added full extensive documentation on what's happening at each step. 2023-08-08 20:22:18 +01:00
Chris McCarthy
139d739732 #1706 - Tidies up the sysLog ARPCache, and ICMP classes and integrated them into the Node. Tidied up the base implementation of SoftwareManager and SessionManager. Tidies up the public API for Services and Applications. Added the SwitchPort and Switch classes. Added a basic test in test_frame_transmission.py that tests sending a frame from one node to another across a multi-switch network. 2023-08-07 19:33:52 +01:00
Chris McCarthy
04f1cb0dc6 #1706 - Got the code services, application, and process base classes stubbed out. Need them now so that I can leverage them for core node services required. 2023-08-03 21:30:13 +01:00
Chris McCarthy
cac4779244 #1706 - Started adding the core node software required by all nodes. Made some tweaks to the Frame to have send and receive timestamp. 2023-08-03 14:37:55 +01:00
Chris McCarthy
209f934abd #1706 - Added some extra logging 2023-08-02 22:01:15 +01:00
Chris McCarthy
897dbdf10c #1706 - Got the core Node class build and working with ARP and the ability to ping another node. Added some basic tests in. Next job is to create the Node subclasses. Then move ARP and ICMP into a service that is used by all nodes. 2023-08-02 21:54:21 +01:00