@@ -461,6 +461,10 @@ fn ipv4_properties() {
461461 check ! ( "198.18.54.2" , benchmarking) ;
462462 check ! ( "198.19.255.255" , benchmarking) ;
463463 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" ) ;
464468 check ! ( "192.0.0.255" ) ;
465469 check ! ( "192.0.0.100" ) ;
466470 check ! ( "240.0.0.0" , reserved) ;
@@ -480,6 +484,10 @@ fn ipv6_properties() {
480484 }
481485
482486 macro_rules! check {
487+ ( $s: expr, & [ $( $octet: expr) ,* ] ) => {
488+ check!( $s, & [ $( $octet) ,* ] , 0 ) ;
489+ } ;
490+
483491 ( $s: expr, & [ $( $octet: expr) ,* ] , $mask: expr) => {
484492 assert_eq!( $s, ip!( $s) . to_string( ) ) ;
485493 let octets = & [ $( $octet) ,* ] ;
@@ -656,15 +664,17 @@ fn ipv6_properties() {
656664 & [ 0x20 , 1 , 0 , 0x20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
657665 global | unicast_global
658666 ) ;
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) ;
661669
662670 check ! (
663671 "2001:200::" ,
664672 & [ 0x20 , 1 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
665673 global | unicast_global
666674 ) ;
667675
676+ check ! ( "2002::" , & [ 0x20 , 0x02 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
677+
668678 check ! ( "fc00::" , & [ 0xfc , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unique_local) ;
669679
670680 check ! (
0 commit comments