@@ -480,15 +480,15 @@ where
480
480
{
481
481
#[ derive( Clone , Debug , Eq , PartialEq , Hash ) ]
482
482
#[ cfg_attr( feature = "defmt" , derive( defmt:: Format ) ) ]
483
- struct Netif {
483
+ struct NetifState {
484
484
ipv6 : Ipv6Addr ,
485
485
ipv4 : Ipv4Addr ,
486
486
mac : [ u8 ; 8 ] ,
487
487
operational : bool ,
488
488
netif_index : u32 ,
489
489
}
490
490
491
- impl Netif {
491
+ impl NetifState {
492
492
pub const fn new ( ) -> Self {
493
493
Self {
494
494
ipv6 : Ipv6Addr :: UNSPECIFIED ,
@@ -500,71 +500,71 @@ where
500
500
}
501
501
}
502
502
503
- fn load_netif < C > ( net_ctl : C , netif : & mut Netif ) -> Result < ( ) , Error >
503
+ fn load_netif_state < I > ( net_diag : I , state : & mut NetifState ) -> Result < ( ) , Error >
504
504
where
505
- C : NetifDiag ,
505
+ I : NetifDiag ,
506
506
{
507
- netif . operational = false ;
508
- netif . ipv6 = Ipv6Addr :: UNSPECIFIED ;
509
- netif . ipv4 = Ipv4Addr :: UNSPECIFIED ;
510
- netif . mac = [ 0 ; 8 ] ;
507
+ state . operational = false ;
508
+ state . ipv6 = Ipv6Addr :: UNSPECIFIED ;
509
+ state . ipv4 = Ipv4Addr :: UNSPECIFIED ;
510
+ state . mac = [ 0 ; 8 ] ;
511
511
512
- net_ctl . netifs ( & mut |ni| {
512
+ net_diag . netifs ( & mut |ni| {
513
513
if ni. operational && !ni. ipv6_addrs . is_empty ( ) {
514
- netif . operational = true ;
515
- netif . ipv6 = ni. ipv6_addrs [ 0 ] ;
516
- netif . ipv4 = ni
514
+ state . operational = true ;
515
+ state . ipv6 = ni. ipv6_addrs [ 0 ] ;
516
+ state . ipv4 = ni
517
517
. ipv4_addrs
518
518
. first ( )
519
519
. copied ( )
520
520
. unwrap_or ( Ipv4Addr :: UNSPECIFIED ) ;
521
- netif . mac = * ni. hw_addr ;
522
- netif . netif_index = ni. netif_index ;
521
+ state . mac = * ni. hw_addr ;
522
+ state . netif_index = ni. netif_index ;
523
523
}
524
524
525
525
Ok ( ( ) )
526
526
} )
527
527
}
528
528
529
- async fn wait_changed < C > (
530
- net_ctl : C ,
531
- cur_netif : & Netif ,
532
- new_netif : & mut Netif ,
529
+ async fn wait_changed < I > (
530
+ net_diag : I ,
531
+ cur_state : & NetifState ,
532
+ new_state : & mut NetifState ,
533
533
) -> Result < ( ) , Error >
534
534
where
535
- C : NetifDiag + NetChangeNotif ,
535
+ I : NetifDiag + NetChangeNotif ,
536
536
{
537
537
loop {
538
- load_netif ( & net_ctl , new_netif ) ?;
538
+ load_netif_state ( & net_diag , new_state ) ?;
539
539
540
- if & * new_netif != cur_netif {
540
+ if & * new_state != cur_state {
541
541
info ! (
542
542
"Netif change detected.\n Old: {:?}\n New: {:?}" ,
543
- cur_netif , new_netif
543
+ cur_state , new_state
544
544
) ;
545
545
break Ok ( ( ) ) ;
546
546
}
547
547
548
548
trace ! ( "No change" ) ;
549
- net_ctl . wait_changed ( ) . await ;
549
+ net_diag . wait_changed ( ) . await ;
550
550
}
551
551
}
552
552
553
553
// let _guard = scopeguard::guard((), |_| {
554
554
// self.update_netif_conf(None);
555
555
// });
556
556
557
- let mut new_netif = Netif :: new ( ) ;
558
- load_netif ( & netif, & mut new_netif ) ?;
557
+ let mut new_state = NetifState :: new ( ) ;
558
+ load_netif_state ( & netif, & mut new_state ) ?;
559
559
560
560
loop {
561
- let cur_netif = new_netif . clone ( ) ;
561
+ let cur_state = new_state . clone ( ) ;
562
562
563
- let mut netif_changed_task = pin ! ( wait_changed( & netif, & cur_netif , & mut new_netif ) ) ;
563
+ let mut netif_changed_task = pin ! ( wait_changed( & netif, & cur_state , & mut new_state ) ) ;
564
564
565
565
let mut mdns_task = pin ! ( async {
566
- if cur_netif . operational {
567
- info!( "Netif up: {:?}" , cur_netif ) ;
566
+ if cur_state . operational {
567
+ info!( "Netif up: {:?}" , cur_state ) ;
568
568
569
569
let udp_bind = unwrap!( net_stack. udp_bind( ) ) ;
570
570
@@ -575,10 +575,10 @@ where
575
575
. run(
576
576
self . matter( ) ,
577
577
& udp_bind,
578
- & cur_netif . mac,
579
- cur_netif . ipv4,
580
- cur_netif . ipv6,
581
- cur_netif . netif_index,
578
+ & cur_state . mac,
579
+ cur_state . ipv4,
580
+ cur_state . ipv6,
581
+ cur_state . netif_index,
582
582
)
583
583
. await ;
584
584
0 commit comments