Pull up following revision(s) (requested by roy in ticket #1104):

sys/netinet/in.c: revision 1.241
	sys/netinet6/in6.c: revision 1.282

inet: Treat LINK_STATE_UNKNOWN as LINK_STATE_UP when changing

It's something we have always done.
it's really rare for anything to transition to UNKNOWN from either
UP or DOWN, but technically it is possible.
This commit is contained in:
martin 2020-10-08 18:04:59 +00:00
parent b9e8cdd306
commit f48fc820ae
2 changed files with 18 additions and 16 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: in.c,v 1.234 2019/04/29 11:57:22 roy Exp $ */
/* $NetBSD: in.c,v 1.234.2.1 2020/10/08 18:04:59 martin Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@ -91,7 +91,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: in.c,v 1.234 2019/04/29 11:57:22 roy Exp $");
__KERNEL_RCSID(0, "$NetBSD: in.c,v 1.234.2.1 2020/10/08 18:04:59 martin Exp $");
#include "arp.h"
@ -1555,14 +1555,15 @@ void
in_if_link_state_change(struct ifnet *ifp, int link_state)
{
switch (link_state) {
case LINK_STATE_DOWN:
/*
* Treat LINK_STATE_UNKNOWN as UP.
* LINK_STATE_UNKNOWN transitions to LINK_STATE_DOWN when
* if_link_state_change() transitions to LINK_STATE_UP.
*/
if (link_state == LINK_STATE_DOWN)
in_if_link_down(ifp);
break;
case LINK_STATE_UP:
else
in_if_link_up(ifp);
break;
}
}
/*

View File

@ -1,4 +1,4 @@
/* $NetBSD: in6.c,v 1.275 2019/04/29 11:57:22 roy Exp $ */
/* $NetBSD: in6.c,v 1.275.2.1 2020/10/08 18:04:59 martin Exp $ */
/* $KAME: in6.c,v 1.198 2001/07/18 09:12:38 itojun Exp $ */
/*
@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: in6.c,v 1.275 2019/04/29 11:57:22 roy Exp $");
__KERNEL_RCSID(0, "$NetBSD: in6.c,v 1.275.2.1 2020/10/08 18:04:59 martin Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@ -2324,14 +2324,15 @@ void
in6_if_link_state_change(struct ifnet *ifp, int link_state)
{
switch (link_state) {
case LINK_STATE_DOWN:
/*
* Treat LINK_STATE_UNKNOWN as UP.
* LINK_STATE_UNKNOWN transitions to LINK_STATE_DOWN when
* if_link_state_change() transitions to LINK_STATE_UP.
*/
if (link_state == LINK_STATE_DOWN)
in6_if_link_down(ifp);
break;
case LINK_STATE_UP:
else
in6_if_link_up(ifp);
break;
}
}
/*