anchor.diff:      (assertHasField "Name")
       (assertHasField "Kind")
       (assertValueOneOf "Kind" [
  -      "bridge" "bond" "vlan" "macvlan" "vxlan" "ipip"
  -      "gre" "sit" "vti" "veth" "tun" "tap" "dummy"
  +      "bond" "bridge" "dummy" "gre" "gretap" "ip6gre" "ip6tnl" "ip6gretap" "ipip"
  +      "ipvlan" "macvlan" "macvtap" "sit" "tap" "tun" "veth" "vlan" "vti" "vti6"
  +      "vxlan" "geneve" "vrf" "vcan" "vxcan" "wireguard" "netdevsim"
       ])
       (assertByteFormat "MTUBytes")
       (assertMacAddress "MACAddress")
     ];
   
     checkVlan = checkUnitConfig "VLAN" [
  -    (assertOnlyFields ["Id"])
  +    (assertOnlyFields ["Id" "GVRP" "MVRP" "LooseBinding" "ReorderHeader"])
       (assertRange "Id" 0 4094)
  +    (assertValueOneOf "GVRP" boolValues)
  +    (assertValueOneOf "MVRP" boolValues)
  +    (assertValueOneOf "LooseBinding" boolValues)
  +    (assertValueOneOf "ReorderHeader" boolValues)
     ];
   
     checkMacvlan = checkUnitConfig "MACVLAN" [
  
positive.code:   checkLink = checkUnitConfig "Link" [
      (assertOnlyFields [
        "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name"
        "MTUBytes" "BitsPerSecond" "Duplex" "WakeOnLan"
      ])
      (assertValueOneOf "MACAddressPolicy" ["persistent" "random"])
      (assertMacAddress "MACAddress")
      (assertValueOneOf "NamePolicy" [
        "kernel" "database" "onboard" "slot" "path" "mac"
      ])
      (assertByteFormat "MTUBytes")
      (assertByteFormat "BitsPerSecond")
      (assertValueOneOf "Duplex" ["half" "full"])
      (assertValueOneOf "WakeOnLan" ["phy" "magic" "off"])
    ];
  
    checkNetdev = checkUnitConfig "Netdev" [
  
negative.code:       '';
      };
  
      bridge = mkOption {
        default = [ ];
        type = types.listOf types.str;
        description = ''
          A list of bridge interfaces to be added to the network section of the
          unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
          <manvolnum>5</manvolnum></citerefentry> for details.
        '';
      };
  
      bond = mkOption {
        default = [ ];
        type = types.listOf types.str;
        description = ''
          A list of bond interfaces to be added to the network section of the
          unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
          <manvolnum>5</manvolnum></citerefentry> for details.
        '';
      };
  
      vrf = mkOption {
        default = [ ];
        type = types.listOf types.str;
        description = ''
          A list of vrf interfaces to be added to the network section of the
          unit.  See <citerefentry><refentrytitle>systemd.network</refentrytitle>
          <manvolnum>5</manvolnum></citerefentry> for details.
        '';
      };
  
      vlan = mkOption {
        default = [ ];
        type = types.listOf types.str;
  