@@ -461,6 +461,10 @@ fn ipv4_properties() {
461
461
check ! ( "198.18.54.2" , benchmarking) ;
462
462
check ! ( "198.19.255.255" , benchmarking) ;
463
463
check ! ( "192.0.0.0" ) ;
464
+ check ! ( "192.0.0.8" ) ;
465
+ check ! ( "192.0.0.9" , global) ;
466
+ check ! ( "192.0.0.10" , global) ;
467
+ check ! ( "192.0.0.11" ) ;
464
468
check ! ( "192.0.0.255" ) ;
465
469
check ! ( "192.0.0.100" ) ;
466
470
check ! ( "240.0.0.0" , reserved) ;
@@ -480,6 +484,10 @@ fn ipv6_properties() {
480
484
}
481
485
482
486
macro_rules! check {
487
+ ( $s: expr, & [ $( $octet: expr) ,* ] ) => {
488
+ check!( $s, & [ $( $octet) ,* ] , 0 ) ;
489
+ } ;
490
+
483
491
( $s: expr, & [ $( $octet: expr) ,* ] , $mask: expr) => {
484
492
assert_eq!( $s, ip!( $s) . to_string( ) ) ;
485
493
let octets = & [ $( $octet) ,* ] ;
@@ -656,15 +664,17 @@ fn ipv6_properties() {
656
664
& [ 0x20 , 1 , 0 , 0x20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
657
665
global | unicast_global
658
666
) ;
659
-
660
- check ! ( "2001:30 ::" , & [ 0x20 , 1 , 0 , 0x30 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
667
+ check ! ( "2001:30::" , & [ 0x20 , 1 , 0 , 0x30 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , global | unicast_global ) ;
668
+ check ! ( "2001:40 ::" , & [ 0x20 , 1 , 0 , 0x40 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
661
669
662
670
check ! (
663
671
"2001:200::" ,
664
672
& [ 0x20 , 1 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
665
673
global | unicast_global
666
674
) ;
667
675
676
+ check ! ( "2002::" , & [ 0x20 , 0x02 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
677
+
668
678
check ! ( "fc00::" , & [ 0xfc , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unique_local) ;
669
679
670
680
check ! (
0 commit comments