]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 321762
authorsephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 7 Aug 2017 02:15:13 +0000 (02:15 +0000)
committersephe <sephe@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 7 Aug 2017 02:15:13 +0000 (02:15 +0000)
commit9bf2140eca4fbe5998f90acfb72238efc6874855
tree5c82d3e2180281f42e489403e9a0267853be11a2
parentf5b3ed94e066ceac5d3c8dfe608a5b55db1ac39c
MFC 321762
    hyperv: Add VF bringup scripts and devd rules.

    How network VF works with hn(4) on Hyper-V in non-transparent mode:

    - Each network VF has a cooresponding hn(4).
    - The network VF and the it's cooresponding hn(4) have the same hardware
      address.
    - Once the network VF is up, e.g. ifconfig VF up:
      o  All of the transmission should go through the network VF.
      o  Most of the reception goes through the network VF.
      o  Small amount of reception may go through the cooresponding hn(4).
         This reception will happen, even if the the cooresponding hn(4) is
         down.  The cooresponding hn(4) will change the reception interface
         to the network VF, so that network layer and application layer will
         be tricked into thinking that these packets were received by the
         network VF.
      o  The cooresponding hn(4) pretends the physical link is down.
    - Once the network VF is down or detached:
      o  All of the transmission should go through the cooresponding hn(4).
      o  All of the reception goes through the cooresponding hn(4).
      o  The cooresponding hn(4) fallbacks to the original physical link
         detection logic.

    All these features are mainly used to help live migration, during which
    the network VF will be detached, while the network communication to the
    VM must not be cut off.  In order to reach this level of live migration
    transparency, we use failover mode lagg(4) with the network VF and the
    cooresponding hn(4) attached to it.

    To ease user configuration for both network VF and non-network VF, the
    lagg(4) will be created by the following rules, and the configuration
    of the cooresponding hn(4) will be applied to the lagg(4) automatically.

    Sponsored by:   Microsoft
    Differential Revision:  https://reviews.freebsd.org/D11635

git-svn-id: svn://svn.freebsd.org/base/stable/10@322129 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/hyperv/tools/scripts/hyperv_vfattach [new file with mode: 0644]
contrib/hyperv/tools/scripts/hyperv_vfup [new file with mode: 0644]
etc/devd/hyperv.conf
libexec/hyperv/Makefile