コード例 #1
0
        public void IsIPv6AdressANetworkAddress(String ipv6Adress, Byte identiifer, Boolean expectedResult)
        {
            IPv6SubnetMask mask = new IPv6SubnetMask(new IPv6SubnetMaskIdentifier(identiifer));

            Boolean actual = mask.IsIPv6AdressANetworkAddress(IPv6Address.FromString(ipv6Adress));

            Assert.Equal(expectedResult, actual);
        }
コード例 #2
0
        public static DHCPv6PrefixDelegation FromValues(
            IPv6Address address, IPv6SubnetMask mask, UInt32 identityAssociation)
        {
            if (mask.IsIPv6AdressANetworkAddress(address) == false)
            {
                throw new ArgumentException(nameof(address));
            }

            return(new DHCPv6PrefixDelegation
            {
                IdentityAssociation = identityAssociation,
                Mask = mask,
                NetworkAddress = address,
            });
        }
コード例 #3
0
        public PrefixBinding(IPv6Address prefix, IPv6SubnetMask mask, IPv6Address host)
        {
            if (mask.IsIPv6AdressANetworkAddress(prefix) == false)
            {
                throw new ArgumentException("");
            }

            if (mask.IsAddressInSubnet(prefix, host) == true)
            {
                throw new ArgumentException();
            }

            Prefix = prefix;
            Mask   = mask;
            Host   = host;
        }
コード例 #4
0
        public static DHCPv6PrefixDelgationInfo FromValues(
            IPv6Address prefix, IPv6SubnetMaskIdentifier prefixLength, IPv6SubnetMaskIdentifier assignedPrefixLength)
        {
            if (prefixLength.Value > assignedPrefixLength.Value)
            {
                throw new ArgumentException();
            }

            IPv6SubnetMask mask = new IPv6SubnetMask(prefixLength);

            if (mask.IsIPv6AdressANetworkAddress(prefix) == false)
            {
                throw new ArgumentException();
            }

            return(new DHCPv6PrefixDelgationInfo(prefix, prefixLength, assignedPrefixLength));
        }
コード例 #5
0
        public Boolean ArePropertiesAndValuesValid(IDictionary <String, String> valueMapper, ISerializer serializer)
        {
            if (valueMapper.ContainsKeys(new[] { nameof(NetworkAddress), nameof(SubnetMask) }) == false)
            {
                return(false);
            }

            try
            {
                IPv6Address    networkAddress = serializer.Deserialze <IPv6Address>(valueMapper[nameof(NetworkAddress)]);
                IPv6SubnetMask mask           = serializer.Deserialze <IPv6SubnetMask>(valueMapper[nameof(SubnetMask)]);

                return(mask.IsIPv6AdressANetworkAddress(networkAddress));
            }
            catch (Exception)
            {
                return(false);
            }
        }