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