@@ -252,6 +252,9 @@ static uint32_t request_xid;
252
252
#define EVT_VENDOR_EMPTY BIT(12)
253
253
#define EVT_DHCP_OFFER BIT(13)
254
254
#define EVT_DHCP_ACK BIT(14)
255
+ #define EVT_DNS_SERVER1_DEL BIT(15)
256
+ #define EVT_DNS_SERVER2_DEL BIT(16)
257
+ #define EVT_DNS_SERVER3_DEL BIT(17)
255
258
256
259
static K_EVENT_DEFINE (events );
257
260
@@ -538,6 +541,18 @@ static void receiver_cb(uint64_t nm_event, struct net_if *iface, void *info, siz
538
541
zassert_unreachable ("Unknown DNS server" );
539
542
}
540
543
break ;
544
+ case NET_EVENT_DNS_SERVER_DEL :
545
+ zassert_equal (info_length , sizeof (struct sockaddr ));
546
+ if (net_sin (info )-> sin_addr .s_addr == dns_addrs [0 ].s_addr ) {
547
+ k_event_post (& events , EVT_DNS_SERVER1_DEL );
548
+ } else if (net_sin (info )-> sin_addr .s_addr == dns_addrs [1 ].s_addr ) {
549
+ k_event_post (& events , EVT_DNS_SERVER2_DEL );
550
+ } else if (net_sin (info )-> sin_addr .s_addr == dns_addrs [2 ].s_addr ) {
551
+ k_event_post (& events , EVT_DNS_SERVER3_DEL );
552
+ } else {
553
+ zassert_unreachable ("Unknown DNS server" );
554
+ }
555
+ break ;
541
556
case NET_EVENT_IPV4_DHCP_START :
542
557
k_event_post (& events , EVT_DHCP_START );
543
558
break ;
@@ -781,8 +796,15 @@ ZTEST(dhcpv4_tests, test_dhcp)
781
796
782
797
net_dhcpv4_stop (iface );
783
798
784
- evt = k_event_wait_all (& events , EVT_DHCP_STOP | EVT_ADDR_DEL , false, WAIT_TIME );
785
- zassert_equal (evt , EVT_DHCP_STOP | EVT_ADDR_DEL ,
799
+ evt = k_event_wait_all (& events ,
800
+ EVT_DHCP_STOP | EVT_ADDR_DEL |
801
+ EVT_DNS_SERVER1_DEL | EVT_DNS_SERVER2_DEL |
802
+ EVT_DNS_SERVER3_DEL ,
803
+ false, WAIT_TIME );
804
+ zassert_equal (evt ,
805
+ EVT_DHCP_STOP | EVT_ADDR_DEL |
806
+ EVT_DNS_SERVER1_DEL | EVT_DNS_SERVER2_DEL |
807
+ EVT_DNS_SERVER3_DEL ,
786
808
"Missing DHCP stop or deleted address" );
787
809
}
788
810
}
0 commit comments