Srivats P
176fc7dd15
Redo fix for incorrect vlan parsing of rx emuldev frames
...
The previous fix in 6977278654
was incorrect and incomplete since it
won't handle the case when emulated devices have PRIO and/or CFI/DEI
set.
This is the correct fix where Prio and CFI/DEI are no longer part of the
device key.
2020-01-26 19:01:37 +05:30
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