anchor.diff:        "MACVLAN"
         "VXLAN"
         "Tunnel"
  +      "MACsec"
         "ActiveSlave"
         "PrimarySlave"
         "ConfigureWithoutCarrier"
  +      "IgnoreCarrierLoss"
         "Xfrm"
         "KeepConfiguration"
       ])
       # Note: For DHCP the values both, none, v4, v6 are deprecated
  -    (assertValueOneOf "DHCP" ["yes" "no" "ipv4" "ipv6" "both" "none" "v4" "v6"])
  +    (assertValueOneOf "DHCP" ["yes" "no" "ipv4" "ipv6"])
       (assertValueOneOf "DHCPServer" boolValues)
  -    (assertValueOneOf "LinkLocalAddressing" ["yes" "no" "ipv4" "ipv6" "ipv4-fallback" "fallback"])
  +    (assertValueOneOf "LinkLocalAddressing" ["yes" "no" "ipv4" "ipv6" "fallback" "ipv4-fallback"])
       (assertValueOneOf "IPv4LLRoute" boolValues)
  -    (assertValueOneOf "LLMNR" ["yes" "resolve" "no"])
  -    (assertValueOneOf "MulticastDNS" ["yes" "resolve" "no"])
  -    (assertValueOneOf "DNSOverTLS" ["opportunistic" "no"])
  -    (assertValueOneOf "DNSSEC" ["yes" "allow-downgrade" "no"])
  -    (assertValueOneOf "LLDP" ["yes" "routers-only" "no"])
  -    (assertValueOneOf "EmitLLDP" ["yes" "no" "nearest-bridge" "non-tpmr-bridge" "customer-bridge"])
  -    (assertValueOneOf "IPForward" ["yes" "no" "ipv4" "ipv6"])
  +    (assertValueOneOf "DefaultRouteOnDevice" boolValues)
  +    (assertValueOneOf "LLMNR" (boolValues ++ ["resolve"]))
  +    (assertValueOneOf "MulticastDNS" (boolValues ++ ["resolve"]))
  +    (assertValueOneOf "DNSOverTLS" (boolValues ++ ["opportunistic"]))
  +    (assertValueOneOf "DNSSEC" (boolValues ++ ["allow-downgrade"]))
  +    (assertValueOneOf "LLDP" (boolValues ++ ["routers-only"]))
  +    (assertValueOneOf "EmitLLDP" (boolValues ++ ["nearest-bridge" "non-tpmr-bridge" "customer-bridge"]))
  +    (assertValueOneOf "DNSDefaultRoute" boolValues)
  +    (assertValueOneOf "IPForward" (boolValues ++ ["ipv4" "ipv6"]))
       (assertValueOneOf "IPMasquerade" boolValues)
  -    (assertValueOneOf "IPv6PrivacyExtensions" ["yes" "no" "prefer-public" "kernel"])
  +    (assertValueOneOf "IPv6PrivacyExtensions" (boolValues ++ ["prefer-public" "kernel"]))
       (assertValueOneOf "IPv6AcceptRA" boolValues)
  +    (assertInt "IPv6DuplicateAddressDetection")
  +    (assertMinimum "IPv6DuplicateAddressDetection" 0)
  +    (assertInt "IPv6HopLimit")
  +    (assertMinimum "IPv6HopLimit" 0)
       (assertValueOneOf "IPv4ProxyARP" boolValues)
       (assertValueOneOf "IPv6ProxyNDP" boolValues)
  -    (assertValueOneOf "IPv6PrefixDelegation" (boolValues ++ [ "dhcpv6" "static" ]))
  +    (assertValueOneOf "IPv6PrefixDelegation" ["static" "dhcpv6" "yes" "false"])
  +    (assertByteFormat "IPv6MTUBytes")
       (assertValueOneOf "ActiveSlave" boolValues)
       (assertValueOneOf "PrimarySlave" boolValues)
       (assertValueOneOf "ConfigureWithoutCarrier" boolValues)
  +    (assertValueOneOf "IgnoreCarrierLoss" boolValues)
       (assertValueOneOf "KeepConfiguration" (boolValues ++ ["static" "dhcp-on-stop" "dhcp"]))
     ];
   
  
positive.code:     (assertValueOneOf "RemoteChecksumTx" boolValues)
      (assertValueOneOf "RemoteChecksumRx" boolValues)
      (assertValueOneOf "GroupPolicyExtension" boolValues)
      (assertRange "FlowLabel" 0 1048575)
    ];
  
    checkTunnel = checkUnitConfig "Tunnel" [
  
negative.code:       "dummy"
        "gre"
        "gretap"
        "erspan"
        "ip6gre"
        "ip6tnl"
        "ip6gretap"
  