summaryrefslogtreecommitdiffstats
path: root/sys/netnatm
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
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')
-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