aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2022-12-03 17:10:50 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2022-12-09 11:20:07 +0000
commit1bcd230f9508b3c917f26be4b905e4b5141decea (patch)
tree57c7ffb469b0972e3ed6cdb48cc4d42d7e82c482 /sys/dev/usb
parent0ca90ed42a495074392a8316ae58a9bbf4eda01a (diff)
downloadsrc-1bcd230f9508b3c917f26be4b905e4b5141decea.tar.gz
src-1bcd230f9508b3c917f26be4b905e4b5141decea.zip
netlink: add interface notification on link status / flags change.
* Add link-state change notifications by subscribing to ifnet_link_event. In the Linux netlink model, link state is reported in 2 places: first is the IFLA_OPERSTATE, which stores state per RFC2863. The second is an IFF_LOWER_UP interface flag. As many applications rely on the latter, reserve 1 bit from if_flags, named as IFF_NETLINK_1. This flag is mapped to IFF_LOWER_UP in the netlink headers. This is done to avoid making applications think this flag is actually supported / presented in non-netlink outputs. * Add flag change notifications, by hooking into rt_ifmsg(). In the netlink model, notification should include the bitmask for the change flags. Update rt_ifmsg() to include such bitmask. Differential Revision: https://reviews.freebsd.org/D37597
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/usb_pf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_pf.c b/sys/dev/usb/usb_pf.c
index d0b7f0889cea..54b5b0d55a99 100644
--- a/sys/dev/usb/usb_pf.c
+++ b/sys/dev/usb/usb_pf.c
@@ -209,7 +209,7 @@ usbpf_clone_create(struct if_clone *ifc, char *name, size_t len,
ifp->if_ioctl = usbpf_ioctl;
if_attach(ifp);
ifp->if_flags |= IFF_UP;
- rt_ifmsg(ifp);
+ rt_ifmsg(ifp, IFF_UP);
/*
* XXX According to the specification of DLT_USB, it indicates
* packets beginning with USB setup header. But not sure all