Commit Graph

38 Commits

Author SHA1 Message Date
Srivats P
f0dd0c307b Fix device emulation crash due to contention
Device emulation packets are received and processed in a different
thread compared to the main RPC processing thread where the emulated
devices are created/deleted. No packets should be processed while the
latter is in progress otherwise the former may access devices that have
been deleted.
2020-01-26 18:35:14 +05:30
Srivats P
6977278654 Fix incorrect vlan parsing of rx device emulation frames 2020-01-15 21:54:05 +05:30
Srivats P
635ca18bce Fix duplicate deletion of host devices
Since host devices are also included in the deviceList_, they are already
being deleted. Deleting them again causes a segfault.
2019-08-18 12:30:41 +05:30
Srivats P
86150a7e46 HostDev: Create Host Device even if no IP is configured 2019-01-14 18:26:24 +05:30
Srivats P
178b942d6e HostDev: Start/stop emulation based on no. of deviceGroups
Host Devices are included in deviceCount() but not in deviceGroupCount()
and emulation is not applicable to Host devices
2018-12-23 21:54:38 +05:30
Srivats P
edd326fb24 HostDev: Refactor device list(s) ops
Use function(s) to hide the insertion/removal from multiple internal
lists
2018-12-23 21:49:21 +05:30
Srivats P
e6592c03a2 HostDev: Fix another bunch of FIXME/TODOs 2018-12-12 22:00:09 +05:30
Srivats P
545f740676 HostDev: Fixed a bunch of FIXME/TODOs 2018-12-11 18:57:53 +05:30
Srivats P
f58c4e309c HostDev: Add IPv6 support for Windows hosts 2018-08-15 10:51:04 +05:30
Srivats P
bc972e4476 HostDev: Added infra and windows IPv4 implementation 2018-07-26 20:53:33 +05:30
Srivats P
0d5e836d3f HostDev: Refactored Device into base Device and EmulDevice 2018-07-19 18:54:01 +05:30
Srivats P
016694f1fe Use %ll instead of PRI since Windows dev env has been upgraded 2018-05-20 13:33:38 +05:30
Srivats P
2acfb3f25a Fix warnings introduced by recent feature development 2016-06-01 20:51:29 +05:30
Srivats P
8b80b4c3ef Device Emulation (contd.): Checked and decided on a couple of FIXMEs/TODOs 2016-03-24 18:47:43 +05:30
Srivats P
fbb56720ba Device Emulation (contd.): Renamed Device List and Device Neighbor List fields so that the names are better reflective of what they contain 2016-03-22 20:18:53 +05:30
Srivats P
72bab2737f Device Emulation (contd.): 'Resolve Neighbors' will now resend ARP/NDP requests for unresolved entries 2016-03-17 20:12:13 +05:30
Srivats P
259dafa3e9 Device Emulation (contd.): Fixed bug where DeviceNeighborList.device_index did not match the correct device in PortDeviceList 2016-03-15 18:15:35 +05:30
Srivats P
db8ad92738 Device Emulation (contd.): Assign a random mac address to a DeviceGroup at alloc time to ensure unique device keys when enumerating devices from device groups 2016-03-07 21:40:48 +05:30
Srivats P
600bdc1946 Device Emulation (contd.): Add check for duplicate/non-existing devices when deviceManager enumerates devices 2016-03-07 18:42:14 +05:30
Srivats P
3040c72181 Device Emulation (contd.): Optimize getDeviceMac() and getNeighborMac() to return 0 if no devices are configured 2016-01-28 21:21:24 +05:30
Srivats P
f6c852495d Device Emulation (contd.): resolveNeighbors() now resolves the device gateway also in addition to looking at transmit packet content to figure out which IPs to resolve 2016-01-28 20:01:19 +05:30
Srivats P
04147076c4 Device Emulation (contd.): Implemented responding IPv6 NS with NA 2016-01-08 20:01:42 +05:30
Srivats P
0b573d572e Device Emulation (contd.) - added intelligence for single or dual ip stack; fixed pktBuf memory leak 2016-01-01 11:59:31 +05:30
Srivats P
aaf6dbcbf2 Device Emulation (contd.) - Implemented IPv6 device creation and deletion 2015-12-31 20:17:56 +05:30
Srivats P
03f427ce91 Feature (contd.): Device Emulation - Test case and code to support non default vlan TPID 2015-12-20 19:33:02 +05:30
Srivats P
71d04b63bc Feature (contd.): Device Emulation - refactored and moved EncapEmulation as a native field of DeviceGroup instead of a extension - now the device_count comment of "per encap" makes more sense with encap at the same level as device_count 2015-12-16 20:48:17 +05:30
Srivats P
ad1fb5fc37 Feature (contd.): Device Emulation - fixed problems in code and in test case for multi-tagged vlans 2015-12-14 21:04:58 +05:30
Srivats P
dc28dfefd6 Feature (contd.): Device Emulation - sort the device list returned by getDeviceList() RPC 2015-11-29 21:18:31 +05:30
Srivats P
3a5396c865 Feature (contd.): Device Emulation - Got rid of a bunch of FIXMEs and all trailing whitespace (in the code added for this feature) 2015-11-14 17:06:43 +05:30
Srivats P
7daf75c95a Feature (contd.): Device Emulation - added getDeviceList() RPC 2015-11-11 13:05:15 +05:30
Srivats P
492a207ede Feature (contd.): Device Emulation - reorganized/renamed some emulation RPCs and messages 2015-11-11 10:52:29 +05:30
Srivats P
280d4bedaa Feature (contd.): Device Emulation - Mac protocol can now 'resolve' src/dst mac corresponding to the packet from the Device Emulation infra 2015-11-10 19:40:32 +05:30
Srivats P
9302e5f17c Feature (contd.): Device Emulation - added resolveNeighbors() and related RPC code and implementation to send out ARP Requests and build the ARP Table on each device 2015-11-04 18:50:08 +05:30
Srivats P
8c41b536a4 Feature (contd.): Device Emulation - fixed bug where we receive back a transmitted emulation packet 2015-10-03 21:27:15 +05:30
Srivats P
fcfcfe6887 Feature (contd.): Device Emulation - Removed 'mode' from both vlan and device; will reintroduce or replace with something else when needed 2015-10-03 20:15:20 +05:30
Srivats P
0c98e30a93 Feature (contd.): Device Emulation - added test cases for multiple ip4 devices with and without VLANs; fixed bugs discovered via these cases 2015-10-03 13:18:44 +05:30
Srivats P
246bc95c74 Feature (contd.): Device Emulation - user now configures a device group instead of a single device for easier creation of multiple devices; refactored and redistributed functionality between DeviceManager and Device; external functionality wise same as last commit; added initial code for vlans but not tested 2015-09-20 17:49:15 +05:30
Srivats P
ab433dc22b Feature: Device Emulation - first cut working code 2015-09-14 18:19:52 +05:30