netaddr 1.5.1 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of netaddr might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 00af2a0dd3e72c9af45cbf4da1400b712c2786aa
4
- data.tar.gz: 00e17047afb4b70c8380d14e41135385db9c3c24
2
+ SHA256:
3
+ metadata.gz: fd69b081c04694ed2db113b810b07e19ba7f8c9ebe446bca31af3b9f73955777
4
+ data.tar.gz: 4510ea5730575cbc8f606de4edd21ef054ba661fb9b1b2aacbdfa6f872055ad5
5
5
  SHA512:
6
- metadata.gz: 4356fd2da890c8f0611e6f616f9d35d6b7874727eeed1d09382c679d904ad0b8e9798f97ac2a41bbfe850f91b141816edd360f66183c11e4ca65b7a3dfc70745
7
- data.tar.gz: 614319998cb885b53f98c3d5ad650184e1e9830a442fa39b3df78cbdf0b2871ee920ff0e39d0f31c345e2b81a7208efb2a0e7d52a983bca90af7fc9e50f762ef
6
+ metadata.gz: 12f90e81555cb39d0b51cd10c108b185da1cc4fb48d684858b60e5ada9d3584bb74ec54904335e962a9f14bd194e5c27cee4ab0d017a00ee0a03c223a79d3894
7
+ data.tar.gz: 78efa87669e4f37defda27d375e57d2dde8cd356b9a9ceac19e0ade7ce080733ee48e766ca100d11c411e7cb87e0d2230c711a24a1db90d73292fff3b69cea18
data/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # netaddr
2
+ I originally created this package back in 2007 out of the need for a tool
3
+ which I could use to track an inventory of constantly changing IP subnets.
4
+ At the time, I was in the process of migrating away from Perl and towards Ruby
5
+ as my primary scripting language. I have since migrated away from using Ruby so
6
+ I have not made any major modifications to this code base since 2008 (aside from a
7
+ handful of bug fixes that others have pointed out).
8
+
9
+ Dustin Spinhirne
data/changelog CHANGED
@@ -1,31 +1,27 @@
1
- ==Version
2
- ====1.5.1
1
+ Version 1.5.2
2
+ Changes:
3
+ * bug fixes from: https://github.com/KirillSmirnov, https://github.com/rwhitworth, https://github.com/y13i
3
4
 
4
- ===Changes
5
+ Version 1.5.1
6
+ Changes:
5
7
  * fixed bug with NetAddr#merge (credit to Daniel Boughton)
6
8
 
7
9
 
8
- ==Version
9
- ====1.5.0
10
-
11
- ===Changes
10
+ Version 1.5.0
11
+ Changes:
12
12
  * fixed bug with EUI48#to_eui64 (credit to Erik Kline)
13
13
  * fixed bug with u/l bit toggle on EUI#link_local (credit to Erik Kline)
14
14
  * added EUI#to_ipv6
15
15
  * added NetAddr#supernets
16
16
 
17
17
 
18
- ==Version
19
- ====1.4.0
20
-
21
- ===Changes
18
+ Version 1.4.0
19
+ Changes:
22
20
  * Added additional options to NetAddr#sort
23
21
 
24
22
 
25
- ==Version
26
- ====1.3.0
27
-
28
- ===New Features
23
+ Version 1.3.0
24
+ New Features:
29
25
  * added CIDR#[]
30
26
  * added CIDR#succ (CIDR objects may now be used as args for the standard Ruby Range class)
31
27
  * added CIDR#allocate_rfc3531
@@ -35,14 +31,12 @@
35
31
  * added EUI#to_i
36
32
  * added EUI#to_s
37
33
 
38
- ===Changes
34
+ Changes:
39
35
  * deprecated 'packed' methods
40
36
 
41
37
 
42
- ==Version
43
- ====1.2.0
44
-
45
- ===Changes
38
+ Version 1.2.0
39
+ Changes:
46
40
  * CIDRv4#new and CIDRv6#new methods have been changed for the sake of speed improvements.
47
41
  Please use the CIDR#create method instead.
48
42
  * changes to CIDR#wildcard_mask
@@ -51,7 +45,7 @@
51
45
  * bug fix and *vast* simplification of NetAddr.merge
52
46
 
53
47
 
54
- ===New Features
48
+ New Features:
55
49
  * speed improvements
56
50
  * added CIDR#set_wildcard_mask
57
51
  * added <=>, >, <, == methods to CIDR
data/lib/cidr.rb CHANGED
@@ -1,9 +1,3 @@
1
- =begin rdoc
2
- Copyleft (c) 2006 Dustin Spinhirne
3
-
4
- Licensed under the same terms as Ruby, No Warranty is provided.
5
- =end
6
-
7
1
  module NetAddr
8
2
 
9
3
  #=CIDR - Classless Inter-Domain Routing
@@ -41,9 +35,6 @@ class CIDR
41
35
 
42
36
  private_class_method :new
43
37
 
44
- #==============================================================================#
45
- # attr_reader/attr_writer
46
- #==============================================================================#
47
38
 
48
39
  # IP version 4 or 6.
49
40
  attr_reader :version
@@ -70,10 +61,6 @@ private_class_method :new
70
61
  @tag = new_tag
71
62
  end
72
63
 
73
- #==============================================================================#
74
- # create()
75
- #==============================================================================#
76
-
77
64
  #===Synopsis
78
65
  #Create a new CIDRv4 or CIDRv6 object.
79
66
  #CIDR formatted netmasks take precedence over extended formatted ones.
@@ -81,21 +68,15 @@ private_class_method :new
81
68
  #:Mask takes precedence over netmask given within CIDR addresses.
82
69
  #Version will be auto-detected if not specified.
83
70
  #
84
- # NetAddr::CIDR.create('192.168.1.1/24')
85
- # NetAddr::CIDR.create('192.168.1.1 255.255.255.0')
86
- # NetAddr::CIDR.create(0x0a010001,
87
- # :Mask => 0xffffff00
88
- # :Version => 4)
89
- # NetAddr::CIDR.create('192.168.1.1',
90
- # :WildcardMask => ['0.7.0.255', true])
91
- # NetAddr::CIDR.create('192.168.1.1',
92
- # :WildcardMask => [0x000007ff, true]
93
- # NetAddr::CIDR.create('192.168.5.0',
94
- # :WildcardMask => ['255.248.255.0'])
95
- # NetAddr::CIDR.create('fec0::/64')
96
- # NetAddr::CIDR.create('fec0::/64',
97
- # :Tag => {'interface' => 'g0/1'})
98
- # NetAddr::CIDR.create('::ffff:192.168.1.1/96')
71
+ # NetAddr::CIDR.create('192.168.1.1/24')
72
+ # NetAddr::CIDR.create('192.168.1.1 255.255.255.0')
73
+ # NetAddr::CIDR.create(0x0a010001,:Mask => 0xffffff00:Version => 4)
74
+ # NetAddr::CIDR.create('192.168.1.1',:WildcardMask => ['0.7.0.255', true])
75
+ # NetAddr::CIDR.create('192.168.1.1',:WildcardMask => [0x000007ff, true]
76
+ # NetAddr::CIDR.create('192.168.5.0',:WildcardMask => ['255.248.255.0'])
77
+ # NetAddr::CIDR.create('fec0::/64')
78
+ # NetAddr::CIDR.create('fec0::/64',:Tag => {'interface' => 'g0/1'})
79
+ # NetAddr::CIDR.create('::ffff:192.168.1.1/96')
99
80
  #
100
81
  #===Arguments:
101
82
  #* addr = CIDR address as a String, or an IP address as an Integer
@@ -221,10 +202,6 @@ private_class_method :new
221
202
  return( NetAddr.cidr_build(version, ip, netmask, tag, wildcard_mask, wildcard_mask_bit_flipped) )
222
203
  end
223
204
 
224
- #==============================================================================#
225
- # initialize()
226
- #==============================================================================#
227
-
228
205
  # This method performs absolutely no error checking, and is meant to be used only by
229
206
  # other internal methods for the sake of the speedier creation of CIDR objects.
230
207
  # Please consider using #create unless you know what you are doing with 100% certainty.
@@ -267,10 +244,6 @@ private_class_method :new
267
244
 
268
245
  end
269
246
 
270
- #==============================================================================#
271
- # <()
272
- #==============================================================================#
273
-
274
247
  #===Synopsis
275
248
  #Compare the sort order of the current CIDR with a provided CIDR and return true
276
249
  #if current CIDR is less than provided CIDR.
@@ -307,10 +280,6 @@ private_class_method :new
307
280
  return(lt)
308
281
  end
309
282
 
310
- #==============================================================================#
311
- # <=>()
312
- #==============================================================================#
313
-
314
283
  #===Synopsis
315
284
  #Compare the sort order of the current CIDR with a provided CIDR and return:
316
285
  #* 1 if the current CIDR is greater than the provided CIDR
@@ -350,10 +319,6 @@ private_class_method :new
350
319
  return(comparasin)
351
320
  end
352
321
 
353
- #==============================================================================#
354
- # ==()
355
- #==============================================================================#
356
-
357
322
  #===Synopsis
358
323
  #Compare the sort order of the current CIDR with a provided CIDR and return true
359
324
  #if current CIDR is equal to the provided CIDR.
@@ -391,10 +356,6 @@ private_class_method :new
391
356
  end
392
357
  alias :eql? :==
393
358
 
394
- #==============================================================================#
395
- # >()
396
- #==============================================================================#
397
-
398
359
  #===Synopsis
399
360
  #Compare the sort order of the current CIDR with a provided CIDR and return true
400
361
  #if current CIDR is greater than provided CIDR.
@@ -431,10 +392,6 @@ private_class_method :new
431
392
  return(gt)
432
393
  end
433
394
 
434
- #==============================================================================#
435
- # []
436
- #==============================================================================#
437
-
438
395
  #===Synopsis
439
396
  #Provide the IP at the given index of the CIDR.
440
397
  #
@@ -463,10 +420,6 @@ private_class_method :new
463
420
  return(addr)
464
421
  end
465
422
 
466
- #==============================================================================#
467
- # allocate_rfc3531()
468
- #==============================================================================#
469
-
470
423
  #===Synopsis
471
424
  #RFC 3531 describes a flexible method for IP subnet allocation from
472
425
  #a larger parent network. Given the new netmask for subnet allocations from this CIDR,
@@ -564,10 +517,6 @@ private_class_method :new
564
517
  return(cidr_list)
565
518
  end
566
519
 
567
- #==============================================================================#
568
- # arpa()
569
- #==============================================================================#
570
-
571
520
  #===Synopsis
572
521
  #Depending on the IP version of the current CIDR,
573
522
  #return either an in-addr.arpa. or ip6.arpa. string. The netmask will be used
@@ -624,10 +573,6 @@ private_class_method :new
624
573
  return(arpa)
625
574
  end
626
575
 
627
- #==============================================================================#
628
- # bits()
629
- #==============================================================================#
630
-
631
576
  #===Synopsis
632
577
  #Provide number of bits in Netmask.
633
578
  # Example:
@@ -644,10 +589,6 @@ private_class_method :new
644
589
  return(NetAddr.mask_to_bits(@netmask))
645
590
  end
646
591
 
647
- #==============================================================================#
648
- # cmp()
649
- #==============================================================================#
650
-
651
592
  #===Synopsis
652
593
  #Compare the current CIDR with a provided CIDR and return:
653
594
  #* 1 if the current CIDR contains (is supernet of) the provided CIDR
@@ -689,10 +630,6 @@ private_class_method :new
689
630
  return(comparasin)
690
631
  end
691
632
 
692
- #==============================================================================#
693
- # contains?()
694
- #==============================================================================#
695
-
696
633
  #===Synopsis
697
634
  #Determines if this CIDR contains (is supernet of)
698
635
  #the provided CIDR address or NetAddr::CIDR object.
@@ -732,10 +669,6 @@ end
732
669
  return(contains)
733
670
  end
734
671
 
735
- #==============================================================================#
736
- # desc()
737
- #==============================================================================#
738
-
739
672
  #===Synopsis
740
673
  #See to_s
741
674
  #
@@ -743,10 +676,6 @@ end
743
676
  to_s(options)
744
677
  end
745
678
 
746
- #==============================================================================#
747
- # enumerate()
748
- #==============================================================================#
749
-
750
679
  #===Synopsis
751
680
  #Provide all IP addresses contained within the IP space of this CIDR.
752
681
  #
@@ -811,7 +740,7 @@ end
811
740
  my_ip = my_ip + bitstep
812
741
  change_mask = @hostmask | my_ip
813
742
  if (limit)
814
- limit = limit -1
743
+ limit = limit - 1
815
744
  break if (limit == 0)
816
745
  end
817
746
  end
@@ -819,10 +748,6 @@ end
819
748
  return(list)
820
749
  end
821
750
 
822
- #==============================================================================#
823
- # fill_in()
824
- #==============================================================================#
825
-
826
751
  #===Synopsis
827
752
  #Given a list of subnets of the current CIDR, return a new list with any
828
753
  #holes (missing subnets) filled in.
@@ -898,10 +823,6 @@ end
898
823
  end
899
824
  end
900
825
 
901
- #==============================================================================#
902
- # ip()
903
- #==============================================================================#
904
-
905
826
  #===Synopsis
906
827
  #Provide original IP address passed during initialization.
907
828
  #
@@ -924,7 +845,7 @@ end
924
845
 
925
846
  if (options)
926
847
  if (!options.kind_of?(Hash))
927
- raise Argumenterror, "Expected Hash, but " +
848
+ raise ArgumentError, "Expected Hash, but " +
928
849
  "#{options.class} provided."
929
850
  end
930
851
  NetAddr.validate_args(options.keys,known_args)
@@ -949,10 +870,6 @@ end
949
870
  return(ip)
950
871
  end
951
872
 
952
- #==============================================================================#
953
- # is_contained?()
954
- #==============================================================================#
955
-
956
873
  #===Synopsis
957
874
  #Determines if this CIDR is contained within (is subnet of)
958
875
  #the provided CIDR address or NetAddr::CIDR object.
@@ -993,10 +910,6 @@ end
993
910
  return(is_contained)
994
911
  end
995
912
 
996
- #==============================================================================#
997
- # last()
998
- #==============================================================================#
999
-
1000
913
  #===Synopsis
1001
914
  #Provide last IP address in this CIDR object.
1002
915
  #
@@ -1019,7 +932,7 @@ end
1019
932
 
1020
933
  if (options)
1021
934
  if (!options.kind_of?(Hash))
1022
- raise Argumenterror, "Expected Hash, but " +
935
+ raise ArgumentError, "Expected Hash, but " +
1023
936
  "#{options.class} provided."
1024
937
  end
1025
938
  NetAddr.validate_args(options.keys,known_args)
@@ -1045,10 +958,6 @@ end
1045
958
  return(ip)
1046
959
  end
1047
960
 
1048
- #==============================================================================#
1049
- # matches?()
1050
- #==============================================================================#
1051
-
1052
961
  #===Synopsis
1053
962
  #Given an IP address (or if a NetAddr::CIDR object, then the original IP of that object), determine
1054
963
  #if it falls within the range of addresses resulting from the combination of the
@@ -1084,10 +993,6 @@ end
1084
993
  return(false)
1085
994
  end
1086
995
 
1087
- #==============================================================================#
1088
- # multicast_mac()
1089
- #==============================================================================#
1090
-
1091
996
  #===Synopsis
1092
997
  #Assuming this CIDR is a valid multicast address (224.0.0.0/4 for IPv4
1093
998
  #and ff00::/8 for IPv6), return its ethernet MAC address (EUI-48) mapping.
@@ -1143,10 +1048,6 @@ end
1143
1048
  return(eui)
1144
1049
  end
1145
1050
 
1146
- #==============================================================================#
1147
- # netmask()
1148
- #==============================================================================#
1149
-
1150
1051
  #===Synopsis
1151
1052
  #Provide netmask in CIDR format (/yy).
1152
1053
  #
@@ -1165,10 +1066,6 @@ end
1165
1066
  return("/#{bits}")
1166
1067
  end
1167
1068
 
1168
- #==============================================================================#
1169
- # network()
1170
- #==============================================================================#
1171
-
1172
1069
  #===Synopsis
1173
1070
  #Provide base network address.
1174
1071
  #
@@ -1191,7 +1088,7 @@ end
1191
1088
 
1192
1089
  if (options)
1193
1090
  if (!options.kind_of?(Hash))
1194
- raise Argumenterror, "Expected Hash, but " +
1091
+ raise ArgumentError, "Expected Hash, but " +
1195
1092
  "#{options.class} provided."
1196
1093
  end
1197
1094
  NetAddr.validate_args(options.keys,known_args)
@@ -1219,10 +1116,6 @@ end
1219
1116
  alias :base :network
1220
1117
  alias :first :network
1221
1118
 
1222
- #==============================================================================#
1223
- # next_ip()
1224
- #==============================================================================#
1225
-
1226
1119
  #===Synopsis
1227
1120
  #Provide the next IP following the last available IP within this CIDR object.
1228
1121
  #
@@ -1249,7 +1142,7 @@ end
1249
1142
 
1250
1143
  if (options)
1251
1144
  if (!options.kind_of?(Hash))
1252
- raise Argumenterror, "Expected Hash, but " +
1145
+ raise ArgumentError, "Expected Hash, but " +
1253
1146
  "#{options.class} provided."
1254
1147
  end
1255
1148
  NetAddr.validate_args(options.keys,known_args)
@@ -1284,10 +1177,6 @@ end
1284
1177
  return(next_ip)
1285
1178
  end
1286
1179
 
1287
- #==============================================================================#
1288
- # next_subnet()
1289
- #==============================================================================#
1290
-
1291
1180
  #===Synopsis
1292
1181
  #Provide the next subnet following this CIDR object. The next subnet will
1293
1182
  #be of the same size as the current CIDR object.
@@ -1315,7 +1204,7 @@ end
1315
1204
 
1316
1205
  if (options)
1317
1206
  if (!options.kind_of?(Hash))
1318
- raise Argumenterror, "Expected Hash, but " +
1207
+ raise ArgumentError, "Expected Hash, but " +
1319
1208
  "#{options.class} provided."
1320
1209
  end
1321
1210
  NetAddr.validate_args(options.keys,known_args)
@@ -1351,10 +1240,6 @@ end
1351
1240
  return(next_sub)
1352
1241
  end
1353
1242
 
1354
- #==============================================================================#
1355
- # nth()
1356
- #==============================================================================#
1357
-
1358
1243
  #===Synopsis
1359
1244
  #Provide the nth IP within this object.
1360
1245
  #
@@ -1413,10 +1298,6 @@ end
1413
1298
  return(my_ip)
1414
1299
  end
1415
1300
 
1416
- #==============================================================================#
1417
- # range()
1418
- #==============================================================================#
1419
-
1420
1301
  #===Synopsis
1421
1302
  #Given a set of index numbers for this CIDR, return all IP addresses within the
1422
1303
  #CIDR that are between them (inclusive). If an upper bound is not provided, then
@@ -1510,10 +1391,6 @@ end
1510
1391
  return(list)
1511
1392
  end
1512
1393
 
1513
- #==============================================================================#
1514
- # remainder()
1515
- #==============================================================================#
1516
-
1517
1394
  #===Synopsis
1518
1395
  #Given a single subnet of the current CIDR, provide the remainder of
1519
1396
  #the subnets. For example if the original CIDR is 192.168.0.0/24 and you
@@ -1608,10 +1485,6 @@ end
1608
1485
  return(new_subnets)
1609
1486
  end
1610
1487
 
1611
- #==============================================================================#
1612
- # resize()
1613
- #==============================================================================#
1614
-
1615
1488
  #===Synopsis
1616
1489
  #Resize the CIDR by changing the size of the Netmask.
1617
1490
  #Return the resulting CIDR as a new object.
@@ -1627,7 +1500,7 @@ end
1627
1500
  #* NetAddr::CIDR object
1628
1501
  #
1629
1502
  def resize(bits)
1630
- raise Argumenterror, "Integer or Hash expected, but " +
1503
+ raise ArgumentError, "Integer or Hash expected, but " +
1631
1504
  "#{bits.class} provided." if (!bits.kind_of?(Integer))
1632
1505
 
1633
1506
  NetAddr.validate_ip_netmask(bits, :Version => @version)
@@ -1637,10 +1510,6 @@ end
1637
1510
  return( NetAddr.cidr_build(@version, network, netmask) )
1638
1511
  end
1639
1512
 
1640
- #==============================================================================#
1641
- # resize!()
1642
- #==============================================================================#
1643
-
1644
1513
  #===Synopsis
1645
1514
  #Resize the current CIDR by changing the size of the Netmask. The original IP
1646
1515
  #passed during initialization will be set to the base network address if
@@ -1657,7 +1526,7 @@ end
1657
1526
  #* True
1658
1527
  #
1659
1528
  def resize!(bits)
1660
- raise Argumenterror, "Integer or Hash expected, but " +
1529
+ raise ArgumentError, "Integer or Hash expected, but " +
1661
1530
  "#{bits.class} provided." if (!bits.kind_of?(Integer))
1662
1531
 
1663
1532
  NetAddr.validate_ip_netmask(bits, :Version => @version)
@@ -1675,10 +1544,6 @@ end
1675
1544
  return(true)
1676
1545
  end
1677
1546
 
1678
- #==============================================================================#
1679
- # set_wildcard_mask()
1680
- #==============================================================================#
1681
-
1682
1547
  #===Synopsis
1683
1548
  #Set the wildcard mask. Wildcard masks are typically used for matching
1684
1549
  #entries in an access-list.
@@ -1714,10 +1579,6 @@ end
1714
1579
  return(nil)
1715
1580
  end
1716
1581
 
1717
- #==============================================================================#
1718
- # size()
1719
- #==============================================================================#
1720
-
1721
1582
  #===Synopsis
1722
1583
  #Provide number of IP addresses within this CIDR.
1723
1584
  #
@@ -1735,10 +1596,6 @@ end
1735
1596
  return(@hostmask + 1)
1736
1597
  end
1737
1598
 
1738
- #==============================================================================#
1739
- # subnet()
1740
- #==============================================================================#
1741
-
1742
1599
  #===Synopsis
1743
1600
  #Create subnets for this CIDR. There are 2 ways to create subnets:
1744
1601
  # * By providing the netmask (in bits) of the new subnets with :Bits.
@@ -1886,10 +1743,6 @@ end
1886
1743
  return(new_subnets)
1887
1744
  end
1888
1745
 
1889
- #==============================================================================#
1890
- # succ()
1891
- #==============================================================================#
1892
-
1893
1746
  #===Synopsis
1894
1747
  #Provide the next subnet following this CIDR object. The next subnet will
1895
1748
  #be of the same size as the current CIDR object.
@@ -1917,10 +1770,6 @@ end
1917
1770
  return(next_sub)
1918
1771
  end
1919
1772
 
1920
- #==============================================================================#
1921
- # to_i()
1922
- #==============================================================================#
1923
-
1924
1773
  #===Synopsis
1925
1774
  #Convert the requested attribute of the CIDR to an Integer.
1926
1775
  # Example:
@@ -1953,10 +1802,6 @@ end
1953
1802
  end
1954
1803
  end
1955
1804
 
1956
- #==============================================================================#
1957
- # to_s()
1958
- #==============================================================================#
1959
-
1960
1805
  #===Synopsis
1961
1806
  #Returns network/netmask in CIDR format.
1962
1807
  #
@@ -2006,10 +1851,6 @@ end
2006
1851
  return("#{ip}/#{mask}")
2007
1852
  end
2008
1853
 
2009
- #==============================================================================#
2010
- # wildcard_mask()
2011
- #==============================================================================#
2012
-
2013
1854
  #===Synopsis
2014
1855
  #Return the wildcard mask.
2015
1856
  #
@@ -2047,17 +1888,9 @@ class CIDRv4 < CIDR
2047
1888
 
2048
1889
  public_class_method :new
2049
1890
 
2050
- #==============================================================================#
2051
- # broadcast()
2052
- #==============================================================================#
2053
-
2054
1891
  # Alias for last
2055
1892
  alias :broadcast :last
2056
1893
 
2057
- #==============================================================================#
2058
- # hostmask_ext()
2059
- #==============================================================================#
2060
-
2061
1894
  #===Synopsis
2062
1895
  #Provide IPv4 Hostmask in extended format (y.y.y.y).
2063
1896
  #
@@ -2075,10 +1908,6 @@ class CIDRv4 < CIDR
2075
1908
  return(NetAddr.ip_int_to_str(@hostmask, @version))
2076
1909
  end
2077
1910
 
2078
- #==============================================================================#
2079
- # netmask_ext()
2080
- #==============================================================================#
2081
-
2082
1911
  #===Synopsis
2083
1912
  #Provide IPv4 netmask in extended format (y.y.y.y).
2084
1913
  #
@@ -2110,10 +1939,6 @@ end # end class CIDRv4
2110
1939
  class CIDRv6 < CIDR
2111
1940
  public_class_method :new
2112
1941
 
2113
- #==============================================================================#
2114
- # unique_local()
2115
- #==============================================================================#
2116
-
2117
1942
  #===Synopsis
2118
1943
  #Generate an IPv6 Unique Local CIDR address based on the algorithm described
2119
1944
  #in RFC 4193.