summaryrefslogtreecommitdiffstats
path: root/sys/net/if_gif.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/if_gif.c')
-rw-r--r--sys/net/if_gif.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c
index 919825e..66669ca 100644
--- a/sys/net/if_gif.c
+++ b/sys/net/if_gif.c
@@ -919,6 +919,17 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
#endif
}
break;
+ case SIOCGTUNFIB:
+ ifr->ifr_fib = sc->gif_fibnum;
+ break;
+ case SIOCSTUNFIB:
+ if ((error = priv_check(curthread, PRIV_NET_GIF)) != 0)
+ break;
+ if (ifr->ifr_fib >= rt_numfibs)
+ error = EINVAL;
+ else
+ sc->gif_fibnum = ifr->ifr_fib;
+ break;
case GIFGOPTS:
options = sc->gif_options;
error = copyout(&options, ifr->ifr_data, sizeof(options));
@@ -934,7 +945,6 @@ gif_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
else
sc->gif_options = options;
break;
-
default:
error = EINVAL;
break;
OpenPOWER on IntegriCloud