diff options
author | phk <phk@FreeBSD.org> | 2000-09-19 10:28:44 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2000-09-19 10:28:44 +0000 |
commit | 6023f979709dc325fe614123710e7faa12ba79f9 (patch) | |
tree | c347201698c5958ef6e577c73bf7f710c905f8db /sys/net | |
parent | bc8d9c4814a55bf29cd2c010b5a0a58a79337d46 (diff) | |
download | FreeBSD-src-6023f979709dc325fe614123710e7faa12ba79f9.zip FreeBSD-src-6023f979709dc325fe614123710e7faa12ba79f9.tar.gz |
Rename lminor() to dev2unit(). This function gives a linear unit number
which hides the 'hole' in the minor bits.
Introduce unit2minor() to do the reverse operation.
Fix some some make_dev() calls which didn't use UID_* or GID_* macros.
Kill the v_hashchain alias macro, it hides the real relationship.
Introduce experimental SI_CHEAPCLONE flag set it on cloned bpfs.
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/bpf.c | 8 | ||||
-rw-r--r-- | sys/net/if_tap.c | 4 | ||||
-rw-r--r-- | sys/net/if_tun.c | 4 |
3 files changed, 9 insertions, 7 deletions
diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 18433a3..f4da899 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -363,7 +363,8 @@ bpfopen(dev, flags, fmt, p) */ if (d) return (EBUSY); - make_dev(&bpf_cdevsw, minor(dev), 0, 0, 0600, "bpf%d", lminor(dev)); + make_dev(&bpf_cdevsw, minor(dev), UID_ROOT, GID_WHEEL, 0600, + "bpf%d", dev2unit(dev)); MALLOC(d, struct bpf_d *, sizeof(*d), M_BPF, M_WAITOK); bzero(d, sizeof(*d)); dev->si_drv1 = d; @@ -1377,8 +1378,9 @@ bpf_clone(arg, name, namelen, dev) return; if (dev_stdclone(name, NULL, "bpf", &u) != 1) return; - /* XXX: minor encoding if u > 255 */ - *dev = make_dev(&bpf_cdevsw, u, 0, 0, 0600, "bpf%d", u); + *dev = make_dev(&bpf_cdevsw, unit2minor(u), UID_ROOT, GID_WHEEL, 0600, + "bpf%d", u); + (*dev)->si_flags |= SI_CHEAPCLONE; return; } diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c index aad9101..6c88075 100644 --- a/sys/net/if_tap.c +++ b/sys/net/if_tap.c @@ -211,12 +211,12 @@ tapcreate(dev) /* select device: tap or vmnet */ if (minor(dev) & VMNET_DEV_MASK) { name = VMNET; - unit = lminor(dev) & 0xff; + unit = dev2unit(dev) & 0xff; tp->tap_flags |= TAP_VMNET; } else { name = TAP; - unit = lminor(dev); + unit = dev2unit(dev); } tp->tap_dev = make_dev(&tap_cdevsw, minor(dev), UID_ROOT, GID_WHEEL, diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index 8079566..4b47ec6 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -129,14 +129,14 @@ tuncreate(dev) struct ifnet *ifp; dev = make_dev(&tun_cdevsw, minor(dev), - UID_UUCP, GID_DIALER, 0600, "tun%d", lminor(dev)); + UID_UUCP, GID_DIALER, 0600, "tun%d", dev2unit(dev)); MALLOC(sc, struct tun_softc *, sizeof(*sc), M_TUN, M_WAITOK); bzero(sc, sizeof *sc); sc->tun_flags = TUN_INITED; ifp = &sc->tun_if; - ifp->if_unit = lminor(dev); + ifp->if_unit = dev2unit(dev); ifp->if_name = "tun"; ifp->if_mtu = TUNMTU; ifp->if_ioctl = tunifioctl; |