Routing on the Host - Windows

  • 1
  • Question
  • Updated 1 year ago
Dear Experts, 

I am primarily a network guy and never involved with server infrastructure things like KVM/VM/Hypervisor virtualization, dockets etc. I can see that RoH is only available for debian, rhel but what about vmware or hypervisor? is it supported ?

I am not sure if it runs at hypervisor level or guest level? if guest level what about windows servers?

I know my question sounds all dumb but any elaboration can really help me
Photo of ovais

ovais

  • 160 Points 100 badge 2x thumb

Posted 1 year ago

  • 1
Photo of ovais

ovais

  • 160 Points 100 badge 2x thumb
Guys Any idea?
Photo of Jason Guy

Jason Guy, Employee

  • 1,692 Points 1k badge 2x thumb
Alright...I'll bite. I have plenty of ideas...but being a network guy myself, I shudder at the idea of using FRRouting/Quagga on a windows server. It's networking is just way different. Now, all sarcasm aside, I have no knowledge of how to implement the following ideas, but I hope these will guide you to find a way to make it work. 

Obviously it depends on why you are routing on the server...I would not use a windows server to be a router, but perhaps it is for routing to containerized services? Regardless, this implies you have multiple interfaces to the physical network, and need to make a forwarding decision. 

It is certainly possible to run some type of virtualization (Docker container, VM on VirtualBox or Hyper-V, etc) on a windows server. It may be easy to simply get it running if there is something like Docker or a Window's hypervisor can host the debian OS; then you need to be able to utilize it... For that, you can perhaps do either of these to utilize the RIB:
1) Manipulate the routing table in windows, to forward ALL traffic through the container, and route it out to the physical network. Perhaps static default to the virtual-ROH node? 
2) Have the ROH virtual node dynamically update/alter the server forwarding table using powershell/python/or some API?

Alternately, FRRouting is an open source project, and perhaps you can compile it for windows? I am sure that would be A LOT of work to replace the entire netlink infrastructure. :(

On Debian/Ubuntu/RHEL/CentOS with KVM/QEMU (which is an awesome hypervisor), it will just work the same as it does on our switches. 

On VMware, even things like the Cisco N1k or Cisco CSR, these run as VM's, and the kernel has to interact with them. I am not certain how this is done in the software, but in general VMware is complicated and locked down. It stands to reason the kernel communicates with these things to make forwarding decisions.

I do not know anything about HyperV...but I assume it is similar to VMware.

Hope this helps...