NetAddr v1.2.0 NetAddr.PrefixSet View Source

Link to this section Summary

Functions

Delete netaddr from prefix_set.

Create an empty prefix set.

Create a prefix set containing the NetAddrs in list.

Insert netaddr into prefix_set.

Link to this section Types

Link to this type

t()

View Source
t() :: %NetAddr.PrefixSet{prefixes: [NetAddr.t()]}

Link to this section Functions

Link to this function

delete(prefix_set, netaddr)

View Source
delete(t(), NetAddr.t()) :: t()

Delete netaddr from prefix_set.

Examples

iex> use NetAddr
iex> require NetAddr.PrefixSet, as: PrefixSet
iex> p = PrefixSet.new([~p"192.0.2.0/24"])
...> |> PrefixSet.delete(~p"192.0.2.96/28")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
    %NetAddr.IPv4{address: <<192,0,2,64>>, length: 27},
    %NetAddr.IPv4{address: <<192,0,2,112>>, length: 28},
    %NetAddr.IPv4{address: <<192,0,2,128>>, length: 25}
  ]
}
iex> p = p
...> |> PrefixSet.delete(~p"192.0.2.64/26")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
    %NetAddr.IPv4{address: <<192,0,2,128>>, length: 25}
  ]
}
iex> p
...> |> PrefixSet.delete(~p"192.0.2.128/25")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
  ]
}

Create an empty prefix set.

Examples

iex> NetAddr.PrefixSet.new
%NetAddr.PrefixSet{prefixes: []}

Create a prefix set containing the NetAddrs in list.

Examples

iex> use NetAddr
iex> require NetAddr.PrefixSet, as: PrefixSet
iex> PrefixSet.new([~p"192.0.2.0/24", ~p"198.51.100.0/24"])
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 24},
    %NetAddr.IPv4{address: <<198,51,100,0>>, length: 24}
  ]
}
Link to this function

put(prefix_set, netaddr)

View Source
put(t(), NetAddr.t()) :: t()

Insert netaddr into prefix_set.

Examples

iex> use NetAddr
iex> require NetAddr.PrefixSet, as: PrefixSet
iex>
iex> p = PrefixSet.new([~p"192.0.2.0/26"])
...> |> PrefixSet.put(~p"192.0.2.0/26")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 26}
  ]
}
iex> p = p
...> |> PrefixSet.put(~p"192.0.2.96/27")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 26},
    %NetAddr.IPv4{address: <<192,0,2,96>>, length: 27}
  ]
}
iex> p = p
...> |> PrefixSet.put(~p"192.0.2.64/27")
%NetAddr.PrefixSet{prefixes: [
   %NetAddr.IPv4{address: <<192,0,2,0>>, length: 25}
  ]
}
iex> p = p
...> |> PrefixSet.put(~p"192.0.2.0/24")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 24}
  ]
}
iex> p
...> |> PrefixSet.put(~p"192.0.2.0/28")
%NetAddr.PrefixSet{prefixes: [
    %NetAddr.IPv4{address: <<192,0,2,0>>, length: 24}
  ]
}