Add SIOCGIFDOWNREASON.
The ioctl(2) is intended to provide more details about the cause of the down for the link. Eventually we might define a comprehensive list of codes for the situations. But interface also allows the driver to provide free-form null-terminated ASCII string to provide arbitrary non-formalized information. Sample implementation exists for mlx5(4), where the string is fetched from firmware controlling the port. Reviewed by: hselasky, rrs Sponsored by: Mellanox Technologies MFC after: 1 week Differential revision: https://reviews.freebsd.org/D21527
This commit is contained in:
parent
c4754fcac5
commit
1add2aab39
|
@ -29,7 +29,7 @@
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* @(#)if.h 8.1 (Berkeley) 6/10/93
|
* @(#)if.h 8.1 (Berkeley) 6/10/93
|
||||||
* $FreeBSD: head/sys/net/if.h 340968 2018-11-26 13:42:18Z markj $
|
* $FreeBSD: head/sys/net/if.h 352458 2019-09-17 18:49:13Z kib $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _NET_IF_H_
|
#ifndef _NET_IF_H_
|
||||||
|
@ -585,6 +585,16 @@ struct ifrsshash {
|
||||||
|
|
||||||
#define IFNET_PCP_NONE 0xff /* PCP disabled */
|
#define IFNET_PCP_NONE 0xff /* PCP disabled */
|
||||||
|
|
||||||
|
#define IFDR_MSG_SIZE 64
|
||||||
|
#define IFDR_REASON_MSG 1
|
||||||
|
#define IFDR_REASON_VENDOR 2
|
||||||
|
struct ifdownreason {
|
||||||
|
char ifdr_name[IFNAMSIZ];
|
||||||
|
uint32_t ifdr_reason;
|
||||||
|
uint32_t ifdr_vendor;
|
||||||
|
char ifdr_msg[IFDR_MSG_SIZE];
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* __BSD_VISIBLE */
|
#endif /* __BSD_VISIBLE */
|
||||||
|
|
||||||
#ifndef _KERNEL
|
#ifndef _KERNEL
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* @(#)sockio.h 8.1 (Berkeley) 3/28/94
|
* @(#)sockio.h 8.1 (Berkeley) 3/28/94
|
||||||
* $FreeBSD: head/sys/sys/sockio.h 331622 2018-03-27 15:29:32Z kib $
|
* $FreeBSD: head/sys/sys/sockio.h 352458 2019-09-17 18:49:13Z kib $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _SYS_SOCKIO_H_
|
#ifndef _SYS_SOCKIO_H_
|
||||||
|
@ -143,4 +143,6 @@
|
||||||
#define SIOCGLANPCP _IOWR('i', 152, struct ifreq) /* Get (V)LAN PCP */
|
#define SIOCGLANPCP _IOWR('i', 152, struct ifreq) /* Get (V)LAN PCP */
|
||||||
#define SIOCSLANPCP _IOW('i', 153, struct ifreq) /* Set (V)LAN PCP */
|
#define SIOCSLANPCP _IOW('i', 153, struct ifreq) /* Set (V)LAN PCP */
|
||||||
|
|
||||||
|
#define SIOCGIFDOWNREASON _IOWR('i', 154, struct ifdownreason)
|
||||||
|
|
||||||
#endif /* !_SYS_SOCKIO_H_ */
|
#endif /* !_SYS_SOCKIO_H_ */
|
||||||
|
|
Loading…
Reference in New Issue