None of the current forwarding ASIC vendors publish enough information to write a driver for their chips.  So no, you can&#x27;t write your own driver.  The reason OpenSwitch&#x27;s OpenNSL binary is binary-only is because it uses Broadcom&#x27;s proprietary SDK, and programs registers that are only available under Broadcom&#x27;s NDA.<p>If you&#x27;re just going to run it in a VM, you&#x27;d be better off with more established things like OpenBSD, OpenWRT, pfSense, Cumulus VX, or even just a Debian VM with Quagga.<p>&lt;disclosure&gt;I&#x27;m CTO of Cumulus, whose network OS is exactly as open-source as OpenSwitch: everything but the single user-space program that links to Broadcom&#x27;s SDK.&lt;&#x2F;disclosure&gt;