summaryrefslogtreecommitdiffstats
path: root/sys/netnatm/natm.c
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2003-07-15 15:51:50 +0000
committerharti <harti@FreeBSD.org>2003-07-15 15:51:50 +0000
commit2f4edcd095f6f89ddacb56ee68f3e75fc1079d26 (patch)
tree1089771a84727389b58052b22fc379961364970e /sys/netnatm/natm.c
parent3f80813372ee6100b0e58b5d0d3e7b89808eb003 (diff)
downloadFreeBSD-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.c7
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);
OpenPOWER on IntegriCloud