@@ -475,21 +475,22 @@ fn ipv6_properties() {
475
475
assert_eq!( & ip!( $s) . octets( ) , octets) ;
476
476
assert_eq!( Ipv6Addr :: from( * octets) , ip!( $s) ) ;
477
477
478
- let unspecified: u16 = 1 << 0 ;
479
- let loopback: u16 = 1 << 1 ;
480
- let unique_local: u16 = 1 << 2 ;
481
- let global: u16 = 1 << 3 ;
482
- let unicast_link_local: u16 = 1 << 4 ;
483
- let unicast_global: u16 = 1 << 7 ;
484
- let documentation: u16 = 1 << 8 ;
485
- let multicast_interface_local: u16 = 1 << 9 ;
486
- let multicast_link_local: u16 = 1 << 10 ;
487
- let multicast_realm_local: u16 = 1 << 11 ;
488
- let multicast_admin_local: u16 = 1 << 12 ;
489
- let multicast_site_local: u16 = 1 << 13 ;
490
- let multicast_organization_local: u16 = 1 << 14 ;
491
- let multicast_global: u16 = 1 << 15 ;
492
- let multicast: u16 = multicast_interface_local
478
+ let unspecified: u32 = 1 << 0 ;
479
+ let loopback: u32 = 1 << 1 ;
480
+ let unique_local: u32 = 1 << 2 ;
481
+ let global: u32 = 1 << 3 ;
482
+ let unicast_link_local: u32 = 1 << 4 ;
483
+ let unicast_global: u32 = 1 << 7 ;
484
+ let documentation: u32 = 1 << 8 ;
485
+ let benchmarking: u32 = 1 << 16 ;
486
+ let multicast_interface_local: u32 = 1 << 9 ;
487
+ let multicast_link_local: u32 = 1 << 10 ;
488
+ let multicast_realm_local: u32 = 1 << 11 ;
489
+ let multicast_admin_local: u32 = 1 << 12 ;
490
+ let multicast_site_local: u32 = 1 << 13 ;
491
+ let multicast_organization_local: u32 = 1 << 14 ;
492
+ let multicast_global: u32 = 1 << 15 ;
493
+ let multicast: u32 = multicast_interface_local
493
494
| multicast_admin_local
494
495
| multicast_global
495
496
| multicast_link_local
@@ -532,6 +533,11 @@ fn ipv6_properties() {
532
533
} else {
533
534
assert!( !ip!( $s) . is_documentation( ) ) ;
534
535
}
536
+ if ( $mask & benchmarking) == benchmarking {
537
+ assert!( ip!( $s) . is_benchmarking( ) ) ;
538
+ } else {
539
+ assert!( !ip!( $s) . is_benchmarking( ) ) ;
540
+ }
535
541
if ( $mask & multicast) != 0 {
536
542
assert!( ip!( $s) . multicast_scope( ) . is_some( ) ) ;
537
543
assert!( ip!( $s) . is_multicast( ) ) ;
@@ -570,20 +576,21 @@ fn ipv6_properties() {
570
576
}
571
577
}
572
578
573
- let unspecified: u16 = 1 << 0 ;
574
- let loopback: u16 = 1 << 1 ;
575
- let unique_local: u16 = 1 << 2 ;
576
- let global: u16 = 1 << 3 ;
577
- let unicast_link_local: u16 = 1 << 4 ;
578
- let unicast_global: u16 = 1 << 7 ;
579
- let documentation: u16 = 1 << 8 ;
580
- let multicast_interface_local: u16 = 1 << 9 ;
581
- let multicast_link_local: u16 = 1 << 10 ;
582
- let multicast_realm_local: u16 = 1 << 11 ;
583
- let multicast_admin_local: u16 = 1 << 12 ;
584
- let multicast_site_local: u16 = 1 << 13 ;
585
- let multicast_organization_local: u16 = 1 << 14 ;
586
- let multicast_global: u16 = 1 << 15 ;
579
+ let unspecified: u32 = 1 << 0 ;
580
+ let loopback: u32 = 1 << 1 ;
581
+ let unique_local: u32 = 1 << 2 ;
582
+ let global: u32 = 1 << 3 ;
583
+ let unicast_link_local: u32 = 1 << 4 ;
584
+ let unicast_global: u32 = 1 << 7 ;
585
+ let documentation: u32 = 1 << 8 ;
586
+ let benchmarking: u32 = 1 << 16 ;
587
+ let multicast_interface_local: u32 = 1 << 9 ;
588
+ let multicast_link_local: u32 = 1 << 10 ;
589
+ let multicast_realm_local: u32 = 1 << 11 ;
590
+ let multicast_admin_local: u32 = 1 << 12 ;
591
+ let multicast_site_local: u32 = 1 << 13 ;
592
+ let multicast_organization_local: u32 = 1 << 14 ;
593
+ let multicast_global: u32 = 1 << 15 ;
587
594
588
595
check ! ( "::" , & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unspecified) ;
589
596
@@ -679,6 +686,12 @@ fn ipv6_properties() {
679
686
documentation
680
687
) ;
681
688
689
+ check ! (
690
+ "2001:2::ac32:23ff:21" ,
691
+ & [ 0x20 , 1 , 0 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0xac , 0x32 , 0x23 , 0xff , 0 , 0x21 ] ,
692
+ global | unicast_global | benchmarking
693
+ ) ;
694
+
682
695
check ! (
683
696
"102:304:506:708:90a:b0c:d0e:f10" ,
684
697
& [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 ] ,
@@ -885,6 +898,9 @@ fn ipv6_const() {
885
898
const IS_DOCUMENTATION : bool = IP_ADDRESS . is_documentation ( ) ;
886
899
assert ! ( !IS_DOCUMENTATION ) ;
887
900
901
+ const IS_BENCHMARKING : bool = IP_ADDRESS . is_benchmarking ( ) ;
902
+ assert ! ( !IS_BENCHMARKING ) ;
903
+
888
904
const IS_UNICAST_GLOBAL : bool = IP_ADDRESS . is_unicast_global ( ) ;
889
905
assert ! ( !IS_UNICAST_GLOBAL ) ;
890
906
0 commit comments