"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]>