@@ -321,12 +321,12 @@ fn ip_properties() {
321
321
check ! ( "fe80:ffff::" ) ;
322
322
check ! ( "febf:ffff::" ) ;
323
323
check ! ( "fec0::" , global) ;
324
- check ! ( "ff01::" , multicast) ;
325
- check ! ( "ff02::" , multicast) ;
326
- check ! ( "ff03::" , multicast) ;
327
- check ! ( "ff04::" , multicast) ;
328
- check ! ( "ff05::" , multicast) ;
329
- check ! ( "ff08::" , multicast) ;
324
+ check ! ( "ff01::" , global | multicast) ;
325
+ check ! ( "ff02::" , global | multicast) ;
326
+ check ! ( "ff03::" , global | multicast) ;
327
+ check ! ( "ff04::" , global | multicast) ;
328
+ check ! ( "ff05::" , global | multicast) ;
329
+ check ! ( "ff08::" , global | multicast) ;
330
330
check ! ( "ff0e::" , global | multicast) ;
331
331
check ! ( "2001:db8:85a3::8a2e:370:7334" , doc) ;
332
332
check ! ( "2001:2::ac32:23ff:21" , global | benchmarking) ;
@@ -609,6 +609,60 @@ fn ipv6_properties() {
609
609
610
610
check ! ( "1::" , & [ 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , global | unicast_global) ;
611
611
612
+ check ! (
613
+ "::ffff:127.0.0.1" ,
614
+ & [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0xff , 0xff , 0x7f , 0 , 0 , 1 ] ,
615
+ unicast_global
616
+ ) ;
617
+
618
+ check ! (
619
+ "64:ff9b:1::" ,
620
+ & [ 0 , 0x64 , 0xff , 0x9b , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
621
+ unicast_global
622
+ ) ;
623
+
624
+ check ! ( "100::" , & [ 0x01 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
625
+
626
+ check ! ( "2001::" , & [ 0x20 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
627
+
628
+ check ! (
629
+ "2001:1::1" ,
630
+ & [ 0x20 , 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ] ,
631
+ global | unicast_global
632
+ ) ;
633
+
634
+ check ! (
635
+ "2001:1::2" ,
636
+ & [ 0x20 , 1 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2 ] ,
637
+ global | unicast_global
638
+ ) ;
639
+
640
+ check ! (
641
+ "2001:3::" ,
642
+ & [ 0x20 , 1 , 0 , 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
643
+ global | unicast_global
644
+ ) ;
645
+
646
+ check ! (
647
+ "2001:4:112::" ,
648
+ & [ 0x20 , 1 , 0 , 4 , 1 , 0x12 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
649
+ global | unicast_global
650
+ ) ;
651
+
652
+ check ! (
653
+ "2001:20::" ,
654
+ & [ 0x20 , 1 , 0 , 0x20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
655
+ global | unicast_global
656
+ ) ;
657
+
658
+ check ! ( "2001:30::" , & [ 0x20 , 1 , 0 , 0x30 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unicast_global) ;
659
+
660
+ check ! (
661
+ "2001:200::" ,
662
+ & [ 0x20 , 1 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
663
+ global | unicast_global
664
+ ) ;
665
+
612
666
check ! ( "fc00::" , & [ 0xfc , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , unique_local) ;
613
667
614
668
check ! (
@@ -666,21 +720,37 @@ fn ipv6_properties() {
666
720
check ! (
667
721
"ff01::" ,
668
722
& [ 0xff , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
669
- multicast_interface_local
723
+ multicast_interface_local | global
670
724
) ;
671
725
672
- check ! ( "ff02::" , & [ 0xff , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , multicast_link_local) ;
726
+ check ! (
727
+ "ff02::" ,
728
+ & [ 0xff , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
729
+ multicast_link_local | global
730
+ ) ;
673
731
674
- check ! ( "ff03::" , & [ 0xff , 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , multicast_realm_local) ;
732
+ check ! (
733
+ "ff03::" ,
734
+ & [ 0xff , 3 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
735
+ multicast_realm_local | global
736
+ ) ;
675
737
676
- check ! ( "ff04::" , & [ 0xff , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , multicast_admin_local) ;
738
+ check ! (
739
+ "ff04::" ,
740
+ & [ 0xff , 4 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
741
+ multicast_admin_local | global
742
+ ) ;
677
743
678
- check ! ( "ff05::" , & [ 0xff , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , multicast_site_local) ;
744
+ check ! (
745
+ "ff05::" ,
746
+ & [ 0xff , 5 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
747
+ multicast_site_local | global
748
+ ) ;
679
749
680
750
check ! (
681
751
"ff08::" ,
682
752
& [ 0xff , 8 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ,
683
- multicast_organization_local
753
+ multicast_organization_local | global
684
754
) ;
685
755
686
756
check ! (
@@ -689,6 +759,12 @@ fn ipv6_properties() {
689
759
multicast_global | global
690
760
) ;
691
761
762
+ check ! (
763
+ "2001:2::ac32:23ff:21" ,
764
+ & [ 0x20 , 1 , 0 , 2 , 0 , 0 , 0 , 0 , 0 , 0 , 0xac , 0x32 , 0x23 , 0xff , 0 , 0x21 ] ,
765
+ unicast_global
766
+ ) ;
767
+
692
768
check ! (
693
769
"2001:db8:85a3::8a2e:370:7334" ,
694
770
& [ 0x20 , 1 , 0xd , 0xb8 , 0x85 , 0xa3 , 0 , 0 , 0 , 0 , 0x8a , 0x2e , 3 , 0x70 , 0x73 , 0x34 ] ,
0 commit comments