Build contrail-vrouter as Windows driver
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
Trunk |
In Progress
|
Undecided
|
Dariusz Sosnowski | |||
OpenContrail |
Fix Committed
|
Undecided
|
Dariusz Sosnowski |
Bug Description
Make Contrail's vRouter kernel module compatible with Hyper-V Virtual Switch's stack. To achieve this vRouter is built as a Hyper-V Switch Extension and is developed against NDIS Filter Drivers interface.
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #1 |
tags: | added: vrouter windows |
OpenContrail Admin (ci-admin-f) wrote : | #6 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #8 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #9 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #10 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #11 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #14 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 1f6f2ef6b680b4a
Author: Dariusz Sosnowski <email address hidden>
Date: Tue Nov 28 17:58:44 2017 +0100
vrouter: introduce vr_register_nic callback
Changes required to support Contrail on Windows:
- vr_register_nic callback is used on Windows to associate vRouter's
interfaces with NIC and port in the Hyper-V switch
This patch introduces vr_register_nic callback for other platforms, before
merging Windows implementation.
Change-Id: I97c8e0462f6b2a
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #15 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit a9dd5ec1db360d6
Author: Dariusz Sosnowski <email address hidden>
Date: Tue Nov 28 11:08:12 2017 +0100
utils: Use callbacks instead of GCC weak symbols
Changes required to support Contrail on Windows:
- MSVC does not support weak symbols. It results in symbol
conflicts on Sandesh functions when compiling utilities on Windows.
Instead of using GCC weak symbols, each utility now provides a struct
filled with its specific callbacks (e.g. vr_interface_
Change-Id: I3d46108a7f110d
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #16 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 72130f55e616edf
Author: Dariusz Sosnowski <email address hidden>
Date: Mon Nov 27 15:49:29 2017 +0100
Prepare to build vRouter as Hyper-V Extension
Changes required to support Contrail on Windows.
1. Add OS-specific GUID to vr_interface
2. Use compiler-
3. Use compiler-
4. Use compiler-
5. Cast pointers to uintptr_t instead of unsigned long
Change-Id: I68c5513ff1ce4b
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #17 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #18 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #20 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #21 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #22 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #23 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #24 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #25 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #26 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #27 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #28 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #29 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #30 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #31 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #32 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #33 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #34 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #35 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #36 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #37 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #38 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #40 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #41 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #42 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #44 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #45 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #46 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #47 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #48 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #50 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #51 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #52 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #53 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit cd48c24a276ae5c
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 13:23:09 2017 +0100
vrouter: vcxproj files for building vRouter as Hyper-V Extension
Changes required to support Contrail on Windows:
- VS 2015 project files required to build vRouter as Hyper-V Extension
Initial work:
https:/
Change-Id: Idabf2caa4d3733
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #54 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #57 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit fbfd4b4dcbe07a7
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 13:17:32 2017 +0100
vrouter: initialize sandesh; implement random() functions
Changes required to support Contrail on Windows:
- windows/
vr_message layer on Windows
- windows/
get_random_ulong() for Windows
Initial work:
https:/
Change-Id: I6e0d7b24c6d43f
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #58 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit ef455a3e0b7d051
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 16:56:58 2017 +0100
utils: port command line utilities for Windows
Changes to required to support Contrail on Windows:
- initial support of Contrail for Windows contains following utilities:
- flow
- nh
- rt
- vif
- vrouter
- vrfstats
- dropstats
- mpls
- vxlan
Initial work:
https:/
Change-Id: I55dcb4f6dca9ec
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #59 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit f8011e1d1de3c6b
Author: Dariusz Sosnowski <email address hidden>
Date: Mon Nov 27 20:33:34 2017 +0100
dp-core: Use compiler-
Changes required to support Contrail on Windows.
- use compiler-
Change-Id: Icd5c56070cd1a6
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #60 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 46cf811c292b38c
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 12:41:59 2017 +0100
vrouter: handling of Hyper-V Switch requests in vrouter
Changes required to support Contrail on Windows:
- windows/vr_oid.c - code responsible for handling OID requests
which are sent by Hyper-V Switch to every driver running on it;
OID requests contain information about attached/detached NICs etc.
Initial work:
https:/
Partial-Bug: #1734699
Change-Id: I14b509abb34f1a
OpenContrail Admin (ci-admin-f) wrote : | #61 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit d241c61d3d11134
Author: Dariusz Sosnowski <email address hidden>
Date: Thu Nov 30 15:46:45 2017 +0100
vrouter: use uint64_t in vr_get_time and vr_get_mono_time
Changes required to support Contrail on Windows.
- use uint64_t in vr_get_time, instead of unsigned long
(which is 32 bit on Windows)
- use uint64_t in vr_get_mono_time, instead of unsigned long
(which is 32 bit on Windows)
- add missing __attribute_
- remove forward declaration of rtable_families in dp-core/vr_route.c
(MSVC does not support forward declaring an array without a size)
- miscellaneous compilation fixes
Change-Id: Ibe8ab1f1e5e820
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #62 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 30f7c267cad1d64
Author: Dariusz Sosnowski <email address hidden>
Date: Thu Nov 30 17:55:51 2017 +0000
utils: move Linux specific functions from vr_util.c to unix_util.c
Changes required to support Contrail on Windows.
- Move functions from nl_util.c which depend on Linux APIs to unix_util.c.
- Compile unix_util.c with libvrutil.
- Prepare SConscript for building utils on Windows.
Change-Id: I9125ee53854fbe
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #63 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 621e8422c39c7be
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 12:05:07 2017 +0100
vrouter: add headers used on Windows
Changes required to support Contrail on Windows:
- add Windows-specific headers
Brief description of each header:
- vr_windows.h - defines basic structs and functions used at driver level
- windows_builtins.h - define atomic operations for Windows
- windows_devices.h - common code for named pipe support
- windows_
- windows_ksync.h - defines structs used in Windows KSync implementation
- windows_mem.h - defines functions used in flow memory init/exit
- windows_nbl.h - defines used in Windows-specific packet handling
- windows_types.h - defines common types
Initial work:
https:/
Change-Id: I5a902da559cf63
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #64 |
Review in progress for https:/
Submitter: Dariusz Sosnowski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #66 |
Review in progress for https:/
Submitter: Mateusz Jablonski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : | #67 |
Review in progress for https:/
Submitter: Michal Clapinski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #69 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 693bc54fba0b841
Author: Dariusz Sosnowski <email address hidden>
Date: Thu Jan 4 15:59:11 2018 +0100
vrouter: compilation fixes for Hyper-V
Changes required to support Contrail on Windows.
- Enable vrouter compilation in SConscript
Initial work:
https:/
Change-Id: I29c223626f6053
Closes-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #70 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 9a02fa0a3770596
Author: Dariusz Sosnowski <email address hidden>
Date: Thu Nov 30 17:45:47 2017 +0100
dp-core: vr_pexpand_head might return new vr_packet
Changes required to support Contrail on Windows.
- Implementation of vr_pexpand_head on Windows might clone the packet,
if not enough head space is available. This cloned packet will receive
the new vr_packet struct, to which pointer will then be returned.
This change prepares dp-core codebase for this change in semantics.
Initial work:
https:/
Change-Id: Ie2e7dc3bb00ed7
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #71 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 881b74f5d67ca4a
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 12:16:09 2017 +0100
vrouter: add Hyper-V Extension initialization code
Changes required to support Contrail on Windows:
- windows/vr_driver.c - Hyper-V Extension initialization code
Initial work:
https:/
Change-Id: Ia7b39560ebbf82
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #72 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 5a0c693c1bf648e
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 12:52:34 2017 +0100
vrouter: implement communication channels with vRouter Agent
Changes required to support Contrail on Windows:
- windows/
used to exchange data between vRouter and Agent on Windows
- windows/vr_ksync.c - Windows-specific implementation of KSync
messages handling, based on named pipes
- windows/vr_pkt0.c - Windows-specific implementation of Pkt0
packet handling, based on named pipes
- windows/vr_mem.c - code responsible for allocation of memory
used for flow table
- windows/
used as file to map memory from, for flows table
Other changes:
- extract computing oflow table size into function
Initial work:
https:/
Change-Id: I366eda3d497059
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #73 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit e774954c3bd52ac
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 12:45:10 2017 +0100
vrouter: implement packet handling on Hyper-V
Changes required to support Contrail on Windows:
- windows/vr_nbl.c - code responsible for handling incoming
NET_BUFFER_LIST (Windows' internal packet representation)
- windows/
vr_host_
Initial work:
https:/
Change-Id: Icadff011051c0f
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #74 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 86a74d1c6b62cdb
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 12:25:57 2017 +0100
vrouter: implement host_os callback layer on Windows
Changes required to support Contrail on Windows:
- windows/vr_host.c - implementation of host_os callback
layer on Windows
Initial work:
https:/
Change-Id: I0231834edee3e1
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : | #75 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 33c070ef107a6d0
Author: Dariusz Sosnowski <email address hidden>
Date: Fri Dec 1 15:14:18 2017 +0100
dp-core: various compilation fixes for Windows
Changes required to support Contrail on Windows:
- use nonpaged memory for bridge table on Windows
- move vif_attach and vif_detach declarations to header to remove duplication
- initialize vrouter configuration on Windows
- zero vrouter struct on reset on Windows
- add missing netlink declarations required on Windows to support KSync
- add vif_port and vif_nic to vr_interface - provide association between
containers' NICs and Hyper-V Switch's ports
- add vp_net_buffer_list and vp_ref_cnt to vr_packet - provide association
between vr_packet and NET_BUFFER_LIST object (network packet representation
in Windows Kernel)
- move vr_malloc_stats and vr_free_stats to separate headers
- changes in other headers to fix compilation issues on Windows
Initial work:
https:/
Change-Id: I122a335cb10a6d
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #76 |
Review in progress for https:/
Submitter: Mateusz Jablonski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #77 |
Reviewed: https:/
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: master
commit 4fb15923ef69761
Author: Mateusz Jablonski <email address hidden>
Date: Fri Jan 5 11:54:06 2018 +0100
.gitignore changes for Windows
Initial work:
https:/
Change-Id: Ifb27a3dd197b48
Partial-Bug: #1734699
Changed in opencontrail: | |
assignee: | nobody → Dariusz Sosnowski (dariusz.sosnowski) |
Changed in opencontrail: | |
status: | New → Fix Committed |
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #78 |
Review in progress for https:/
Submitter: Micha? C?api?ski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #79 |
Reviewed: https:/
Committed: http://
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master
commit 9fb7e559b0bd881
Author: Michal Clapinski <email address hidden>
Date: Fri Aug 3 18:25:09 2018 +0200
Don't build unnecessary modules on Windows
Change-Id: I7c4bc60925f4b6
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #80 |
Review in progress for https:/
Submitter: Micha? C?api?ski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #81 |
Reviewed: https:/
Committed: http://
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master
commit 0a85af860609b49
Author: Michal Clapinski <email address hidden>
Date: Tue Aug 21 16:31:02 2018 +0200
Simplify .vcxproj file
1. Remove entries for x86 and ARM
2. Simplify XML
Change-Id: I126ed66bfef2dc
Partial-Bug: #1734699
OpenContrail Admin (ci-admin-f) wrote : [Review update] master | #82 |
Review in progress for https:/
Submitter: Micha? C?api?ski (<email address hidden>)
OpenContrail Admin (ci-admin-f) wrote : A change has been merged | #84 |
Reviewed: https:/
Committed: http://
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master
commit c2173bae7491ee9
Author: Michal Clapinski <email address hidden>
Date: Tue Aug 28 13:54:49 2018 +0200
Implement simple switch logic for no-vifs-yet scenario
After enabling vRouter and before adding vifs, there is no connection.
This change forwards packets from physical to vhost and the other way.
Change-Id: I5e7fa1e65390b7
Partial-Bug: #1734699
Review in progress for https:/ /review. opencontrail. org/37898
Submitter: Dariusz Sosnowski (<email address hidden>)