Lines Matching defs:ifd
4835 wg_alloc_prop_buf(char **_buf, struct ifdrv *ifd)
4840 WG_DLOG("buf=%p, len=%zu\n", ifd->ifd_data, ifd->ifd_len);
4841 if (ifd->ifd_len >= WG_MAX_PROPLEN)
4843 buf = kmem_alloc(ifd->ifd_len + 1, KM_SLEEP);
4844 error = copyin(ifd->ifd_data, buf, ifd->ifd_len);
4847 buf[ifd->ifd_len] = '\0';
4850 log(LOG_DEBUG, "%.*s\n", (int)MIN(INT_MAX, ifd->ifd_len),
4859 wg_ioctl_set_private_key(struct wg_softc *wg, struct ifdrv *ifd)
4867 error = wg_alloc_prop_buf(&buf, ifd);
4892 kmem_free(buf, ifd->ifd_len + 1);
4897 wg_ioctl_set_listen_port(struct wg_softc *wg, struct ifdrv *ifd)
4904 error = wg_alloc_prop_buf(&buf, ifd);
4917 kmem_free(buf, ifd->ifd_len + 1);
4922 wg_ioctl_add_peer(struct wg_softc *wg, struct ifdrv *ifd)
4929 error = wg_alloc_prop_buf(&buf, ifd);
4967 kmem_free(buf, ifd->ifd_len + 1);
4972 wg_ioctl_delete_peer(struct wg_softc *wg, struct ifdrv *ifd)
4979 error = wg_alloc_prop_buf(&buf, ifd);
4994 kmem_free(buf, ifd->ifd_len + 1);
5010 wg_ioctl_get(struct wg_softc *wg, struct ifdrv *ifd)
5166 if (ifd->ifd_len < (strlen(buf) + 1)) {
5170 error = copyout(buf, ifd->ifd_data, strlen(buf) + 1);
5188 struct ifdrv *ifd = data;
5220 switch (ifd->ifd_cmd) {
5222 error = wg_ioctl_set_private_key(wg, ifd);
5225 error = wg_ioctl_set_listen_port(wg, ifd);
5228 error = wg_ioctl_add_peer(wg, ifd);
5231 error = wg_ioctl_delete_peer(wg, ifd);
5239 return wg_ioctl_get(wg, ifd);
5264 error = wg_ioctl_linkstr(wg, ifd);
5423 wg_ioctl_linkstr(struct wg_softc *wg, struct ifdrv *ifd)
5431 if (ifd->ifd_cmd == IFLINKSTR_UNSET) {
5434 } else if (ifd->ifd_cmd != 0) {
5441 if (ifd->ifd_len > IFNAMSIZ) {
5443 } else if (ifd->ifd_len < 1) {
5448 error = copyinstr(ifd->ifd_data, tun_name, ifd->ifd_len, NULL);