This flag was used to determine whether we need to restore
functional state of adapters on service stop. The proper way
to do that is to check whether the VIOPROT is installed.
Signed-off-by: Yuri Benditovich <[email protected]>
When network devices come to enabled/disabled state or
added/removed - process the change immediately and not only
via periodical polling
Signed-off-by: Yuri Benditovich <[email protected]>
"netkvmp i" must have vioprot.inf (and CAT) in the current
directory. To avoid misunderstandings, add a check for the
INF file in the current directory.
Signed-off-by: Yuri Benditovich <[email protected]>
The goal is to keep full functionality after protocol uninstall
in several major cases:
- VF present and the failover pair works
After uninstall the virtio-net should become link off (suppressed)
and the VF should obtain the IP address correctly
- VF not present and the virtio-net works
After uninstall the virtio-net should become link off (suppressed)
The flag 'NoRestoreOnStop' is for future possibility to stop/start
the service without protocol uninstall.
Signed-off-by: Yuri Benditovich <[email protected]>
Indicate stopped state only after the thread is finished.
Otherwise the structures in the memory might be unpredictably
modified.
Signed-off-by: Yuri Benditovich <[email protected]>
Add scan for INF files and uninstall of the protocol's INF file.
Now the uninstall script is not needed, just "netkvmp u".
Signed-off-by: Yuri Benditovich <[email protected]>
Add logic to the user-mode protocol service to replace and
extend the functionality of the notification object:
- install VIOPROT for all the network adapters
- disable all other protocols for relevant VF only when needed
- enable all the protocols on netkvm disable
- enable all the protocol on VIOPROT uninstall
- ... (see in the source code)
Signed-off-by: Yuri Benditovich <[email protected]>
The netkvmp service on protocol uninstall is stopped
automatically (by INF statement). Upon stop the service
will run its own binary with command-line ' -x' that
directs the executable to run post-uninstall action:
1. Send WMI set 'NetKvm_Standby.value=0' to force all
the instances that support standby feature to indicate
link off (return to their initial behavior)
2. Send WMI query for 'NetKvm_Standby' and parse the response.
Note friendly names of all the instances that support
standby feature. Access these instances via SetupAPI and
restart them.
Signed-off-by: Yuri Benditovich <[email protected]>