diff options
author | harti <harti@FreeBSD.org> | 2003-07-15 15:51:50 +0000 |
---|---|---|
committer | harti <harti@FreeBSD.org> | 2003-07-15 15:51:50 +0000 |
commit | 2f4edcd095f6f89ddacb56ee68f3e75fc1079d26 (patch) | |
tree | 1089771a84727389b58052b22fc379961364970e /sys/netnatm/natm.c | |
parent | 3f80813372ee6100b0e58b5d0d3e7b89808eb003 (diff) | |
download | FreeBSD-src-2f4edcd095f6f89ddacb56ee68f3e75fc1079d26.zip FreeBSD-src-2f4edcd095f6f89ddacb56ee68f3e75fc1079d26.tar.gz |
Instead of returning an error call the ioctl() handler of the interface
when we get request that we cannot handle ourself. This allows userland
to reach the ATM interfaces for ioctls.
Diffstat (limited to 'sys/netnatm/natm.c')
-rw-r--r-- | sys/netnatm/natm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/netnatm/natm.c b/sys/netnatm/natm.c index e9bb584..2a5d547 100644 --- a/sys/netnatm/natm.c +++ b/sys/netnatm/natm.c @@ -381,9 +381,12 @@ natm_usr_control(struct socket *so, u_long cmd, caddr_t arg, else npcb->npcb_flags &= ~(NPCB_RAW); } + } else { + splx(s); + if (ifp == NULL || ifp->if_ioctl == NULL) + return (EOPNOTSUPP); + return ((*ifp->if_ioctl)(ifp, cmd, arg)); } - else - error = EOPNOTSUPP; out: splx(s); |