which switch support OFPC_IP_REASM "Openflow"? - openflow

I am using Openswitch but I have realized it is not supported reassembling "OFPC_IP_REASM".
I am looking for a switch support OFPC_IP_REASM
which switch supports reassemble?

I did some tests with several switch vendors such as HP, Brocade, Cisco or even Mininet and for all switches, OFPC_IP_REASM property is set to false as i saw in the trace files.
When I search for some information from vendor's web sites some of them says that they don't support this property.
For example, this is the documentation of HPE, it says:
HP switches support OpenFlow Switch Specification, version 1.3.1
Unsupported features:
Handling of IP Fragments: OFPC_IP_REASM/OFPC_FRAG_REASM
HP switches support OpenFlow Switch Specification, version 1.0.0
Unsupported features:
Handling of IP Fragments: OFPC_IP_REASM/OFPC_FRAG_REASM.
For Juniper, there is a complication. In this page, they say:
Junos OS Support for OpenFlow v1.3.1 Features Reply Messages
OFPC_IP_REASM Supported (for MX Series, EX9200, QFX5100 and EX4600)
But in this page for same models they say:
Junos OS Support for OpenFlow v1.3.1 Features Reply Messages
OFPC_IP_REASM Not supported
If you familier with C/C++, you can look the source code of Open vSwitch. I don't know if it is possible but maybe you can manipulate this property from source code.

Related

selenium chromedriver python - default downloads folder [duplicate]

We recently upgraded our Windows 10 test environment with ChromeDriver v87.0.4280.20 and Chrome v87.0.4280.66 (Official Build) (64-bit) and after the up-gradation even the minimal program is producing this ERROR log:
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Minimum Code Block:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.google.com/')
Console Output:
DevTools listening on ws://127.0.0.1:64170/devtools/browser/2fb4bb93-79ab-4131-9e4a-3b65c08dbffb
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
[9848:10684:1201/013233.172:ERROR:device_event_log_impl.cc(211)] [01:32:33.173] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Anyone facing the same? Was there any change in ChromeDriver/Chrome v87 with respect to ChromeDriver/Chrome v86?
Any clues will be helpful.
However these log messages can be supressed from appearing on the console through an easy hack i.e. by adding an argument through add_experimental_option() as follows:
options.add_experimental_option('excludeSwitches', ['enable-logging'])
Code Block:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
# to supress the error messages/logs
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.google.com/')
My apologies for the log spam. If you aren't having issues connecting to a device with WebUSB you can ignore these warnings. They are triggered by Chrome attempting to read properties of USB devices that are currently suspended.
After going through quite a few discussions, documentations and Chromium issues here are the details related to the surfacing of the log message:
[9848:10684:1201/013233.169:ERROR:device_event_log_impl.cc(211)] [01:32:33.170] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: A device attached to the system is not functioning. (0x1F)
Details
It all started with the reporting of chromium issue Remove WebUSB's dependency on libusb on Windows as:
For Linux (probably Mac as well), both WebUSB notification and communication works correctly (after allowing user access to the device in udev rules).
For Windows, it seems that libusb only works with a non-standard WinUsb driver (https://github.com/libusb/libusb/issues/255).
When the hardware is inserted and the VID/PID is unknown to the system, windows 10 correctly loads it's CDC driver for the CDC part and the WinUSB driver (version 10) for the WebUSB part (no red flags). However, it seems that chrome never finds the device until I manually force an older WinUSB driver (version 6 - probably modified also) on the interface.
The solution was implemented in a step-wise manner as follows:
Start supporting some transfers in the new Windows USB backend
Fix bulk/interrupt transfers in the new Windows USB backend
[usb] Read BOS descriptors from the hub driver on Windows
[usb] Collect all composite devices paths during enumeration on Windows
[usb] Remove out parameters in UsbServiceWin helper functions
[usb] Support composite devices in the new Windows backend
[usb] Detect USB functions as Windows enumerates them
[usb] Support composite devices with multiple functions
[usb] Hold interface requests until Windows enumerates functions
[usb] Add direction parameter to ClearHalt
[usb] Count references to a WINUSB_INTERFACE_HANDLE
[usb] Implement blocking operations in the Windows backend
These changes ensured that the new backend was ready to be tested and was available through Chrome Canary and chrome-dev-channel which you can access manually through:
chrome://flags#enable-new-usb-backend
More change requests were submitted as follows:
[usb] Mark calls to SetupDiGetDeviceProperty as potentially blocking: According to hang reports this function performs an RPC call which may take some time to complete. Mark calls with a base::ScopedBlockingCall so that the thread pool knows this task may be busy for a while.
variations: Enable NewUsbBackend in field trial testing config: This flag was experimental as beta-channel uses this change configuration as the default for testing.
As the experimental launch of the new backend appeared to be stable, finally these configuration was enabled by default so that the chanege rolls out to all users of Chrome 87 through usb: Enable new Windows USB backend by default. Revision / Commit
The idea was once this configuration becomes the default for a few milestones, Chromium Team will start removing the Windows-specific code from the old back-end and remove the flag.
Road Ahead
Chromium Team have already merged the revision/commit to Extend new-usb-backend flag expiration within Chrome v90 which will be available soon.
Update
As per #ReillyGrant's [Committer, WebDriver for Google Chrome] comment :
..." it would be good to reduce the log level for these messages so they don't appear on the console by default but we haven't landed code to do that yet"...
References
You can find a couple of relevant detailed discussions in:
Failed to read descriptor from node connection: A device attached to the system is not functioning error using ChromeDriver Selenium on Windows OS
Failed to read descriptor from node connection: A device attached to the system is not functioning error using ChromeDriver Chrome through Selenium
I encounered this problem yesterday,and I has fixed it by update all available windows update.
https://support.microsoft.com/en-us/windows/what-to-try-if-your-touchscreen-doesn-t-work-f159b366-b3ef-99ad-24a4-31a4c62ab46d
A partial solution that worked for me
I was getting this error too. It was stopping my program running.
I unplugged all my USB devices, ran the program, with no error.
Plugged the devices back in, ran the program. I am still getting the error, however, the program finished without the error stopping the program.
Note: For WebdriverIO on Windows 10, this suppresses the error messages for me:
"goog:chromeOptions": { "excludeSwitches": ["enable-logging"] }

How to save ZAProxy Options?

I am using ZAProxy 2.7.0 on RHEL7 with a smart card that holds a client certificate to the site I am trying to use access through ZAProxy. Using the smart card requires setting some PKCS#11 values under Tools/Options/Certificate, especially selecting a driver, PIN code, and setting it Active.
Unfortunately, these values do not persist between ZAProxy runs. I have seen that other options do persist, but not these ones. I would also like to use ZAProxy in headless mode - in that case I cannot even set these options (at least I haven't found a way).
Any ideas?
It's getting closer, you can now do this for pcks#12 certs, using a weekly build or the next release. It adds that functionality both to the cli and web API: https://github.com/zaproxy/zap-core-help/pull/227/files
If smart card support is important to you I'd suggest opening a feature request: https://github.com/zaproxy/zaproxy/issues/new?labels=enhancement&template=Feature_request.md

How to use webauthn without key fob

I have tried my firefox 62 and chromium on various webauthn examples and I could not make any of them work. Are those supposed to work without special hardware? I activated security.webauth.webauthn_enable_softtoken in about:config. Though I can't find much documentation on what exactly it does. Is webauthn ever supposed to work without special hardware?
https://webauthn.bin.coffee/
https://webauthn.io/
https://webauthndemo.appspot.com/
To be able to use the "softtoken" in Firefox you have to enable it and disable the usbtoken:
security.webauth.webauthn_enable_softtoken=true
security.webauth.webauthn_enable_usbtoken=false
Then you can test on https://webauthn.bin.coffee/ and https://webauthn.io/ .
However, I have no idea how exactly it works and where its documentation is located.
As for the question how to use Webauthn, it should be possible according to the standard, but if browsers support it is another thing. Check this comment: https://github.com/w3c/webauthn/issues/1027#issuecomment-411441722
The spec is indeed written with hardware-backed authenticators (external or built-in) as the main concern, but WebAuthn does not in any way forbid integration of purely software-based authenticators.
...
It's perfectly possible for browsers or browser plugins to provide support for software authenticators, although WebAuthn provides no standardised API for doing that.
Well, WebAuthn is evolving technology. Supported only in Firefox/Chrome Desktop and Chrome Mobile browsers.
You'll need some U2F stuff like https://www.yubico.com/products/yubikey-for-mobile/
or AddOns like https://krypt.co/
Webauthn is pretty widely supported now, and it works in modern browsers without a roaming authenticator (a USB device or similar). It's very easy to test on the site you mentioned, https://webauthn.io/
https://caniuse.com/#search=webauthn

What is a passthrough mode in selenium

I recently came across something called the passthrough mode in selenium changelog. I quite did not understand its use. can somebody explain about it.
The enablepassThrough mode was added to support the new w3c standard
Words from Simon Stewart:
I've added a "-enablePassThrough" flag to the standalone server. With this in place, and a few tweaks to Grid, it's possible to use a w3c remote end (eg. geckodriver) with a w3c speaking local end (eg. a recent 3.x release of selenium) It'll be in 3.5
Notably, this means that you'll need to start the nodes with "-enablePassThrough".
Please the below issue
Grid does not handle w3c capabilities correctly #3808

Sony Camera API change exposure parameters?

Looking at the supported API's for various camera both within the PDF docs and the supported cameras page (https://developer.sony.com/develop/cameras/), it looks like the A7R supports changing f stop, shutter speed, ISO, etc. However, within the iOS sample app none of those commands are provided by the camera as being available via the getAvailableApiList command. "Forcing" a setIsoSpeedRate command to the camera didn't work either and I get an error code 403: Forbidden.
So is this supported? Am I missing something? Does the camera need to be configured in a particular way? Of note, I am running firmware 1.10 on the A7R, which I believe is the latest.
Please install the latest version (ver.3.10) of “Smart Remote Control” application of PlayMemories Camera App and try it again.