1

In Arcus I can create a Subnet with a single IP Address:

var ipAddress = IPAddress.Parse("192.168.1.1");
var subnet = new Subnet(ipAddress);

Since subnets are not arbitrary ranges of IP addresses how does this work?

ahsteele
  • 26,243
  • 28
  • 134
  • 248

1 Answers1

1

You are correct that a Subnet is not an arbitrary range of IP addresses. They are in fact a range of length 2n starting at a particular position. When provided a single IP address Arcus sets the starting position at the IP and a route prefix equivalent to a subnet of size one. From your question you've created a subnet object with the following attributes:

var ipAddress = IPAddress.Parse("192.168.1.1");
var subnet = new Subnet(ipAddress);

Assert.Equal(1, subnet.Length);
Assert.Equal(ipAddress, subnet.Single());
Assert.True(subnet.IsSingleIP);
Assert.Equal("192.168.1.1/32", subnet.ToString());
ahsteele
  • 26,243
  • 28
  • 134
  • 248