int mpls_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, size_t newlen) { if (name[0] >= MPLSCTL_MAXID) return (EOPNOTSUPP); /* Almost all sysctl names at this level are terminal. */ if (namelen != 1) return (ENOTDIR); switch (name[0]) { default: return sysctl_int_arr(mplsctl_vars, name, namelen, oldp, oldlenp, newp, newlen); } }
int mpls_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, size_t newlen) { if (name[0] >= MPLSCTL_MAXID) return (EOPNOTSUPP); /* Almost all sysctl names at this level are terminal. */ if (namelen != 1 && name[0] != MPLSCTL_IFQUEUE) return (ENOTDIR); switch (name[0]) { case MPLSCTL_IFQUEUE: return (sysctl_ifq(name + 1, namelen - 1, oldp, oldlenp, newp, newlen, &mplsintrq)); default: return sysctl_int_arr(mplsctl_vars, name, namelen, oldp, oldlenp, newp, newlen); } }