1/* $NetBSD: if_gre.c,v 1.49 2003/12/11 00:22:29 itojun Exp $ */
2/* $FreeBSD: head/sys/net/if_gre.c 125024 2004-01-26 12:33:56Z sobomax $ */
3
4/*
5 * Copyright (c) 1998 The NetBSD Foundation, Inc.
6 * All rights reserved.
7 *
8 * This code is derived from software contributed to The NetBSD Foundation
9 * by Heiko W.Rupp <hwr@pilhuhn.de>
10 *
--- 162 unchanged lines hidden (view full) ---
173 sc->sc_if.if_flags = IFF_POINTOPOINT|IFF_MULTICAST;
174 sc->sc_if.if_output = gre_output;
175 sc->sc_if.if_ioctl = gre_ioctl;
176 sc->g_dst.s_addr = sc->g_src.s_addr = INADDR_ANY;
177 sc->g_proto = IPPROTO_GRE;
178 sc->sc_if.if_flags |= IFF_LINK0;
179 sc->encap = NULL;
180 sc->called = 0;
181 sc->wccp_ver = WCCP_V1;
182 if_attach(&sc->sc_if);
183 bpfattach(&sc->sc_if, DLT_NULL, sizeof(u_int32_t));
184 LIST_INSERT_HEAD(&gre_softc_list, sc, sc_list);
185 return (0);
186}
187
188static void
189gre_clone_destroy(ifp)
--- 213 unchanged lines hidden (view full) ---
403 break;
404 case SIOCSIFFLAGS:
405 if ((error = suser(curthread)) != 0)
406 break;
407 if ((ifr->ifr_flags & IFF_LINK0) != 0)
408 sc->g_proto = IPPROTO_GRE;
409 else
410 sc->g_proto = IPPROTO_MOBILE;
411 if ((ifr->ifr_flags & IFF_LINK2) != 0)
412 sc->wccp_ver = WCCP_V2;
413 else
414 sc->wccp_ver = WCCP_V1;
415 goto recompute;
416 case SIOCSIFMTU:
417 if ((error = suser(curthread)) != 0)
418 break;
419 if (ifr->ifr_mtu < 576) {
420 error = EINVAL;
421 break;
422 }
--- 331 unchanged lines hidden ---
2/* $FreeBSD: head/sys/net/if_gre.c 125024 2004-01-26 12:33:56Z sobomax $ */
3
4/*
5 * Copyright (c) 1998 The NetBSD Foundation, Inc.
6 * All rights reserved.
7 *
8 * This code is derived from software contributed to The NetBSD Foundation
9 * by Heiko W.Rupp <hwr@pilhuhn.de>
10 *
--- 162 unchanged lines hidden (view full) ---
173 sc->sc_if.if_flags = IFF_POINTOPOINT|IFF_MULTICAST;
174 sc->sc_if.if_output = gre_output;
175 sc->sc_if.if_ioctl = gre_ioctl;
176 sc->g_dst.s_addr = sc->g_src.s_addr = INADDR_ANY;
177 sc->g_proto = IPPROTO_GRE;
178 sc->sc_if.if_flags |= IFF_LINK0;
179 sc->encap = NULL;
180 sc->called = 0;
181 sc->wccp_ver = WCCP_V1;
182 if_attach(&sc->sc_if);
183 bpfattach(&sc->sc_if, DLT_NULL, sizeof(u_int32_t));
184 LIST_INSERT_HEAD(&gre_softc_list, sc, sc_list);
185 return (0);
186}
187
188static void
189gre_clone_destroy(ifp)
--- 213 unchanged lines hidden (view full) ---
403 break;
404 case SIOCSIFFLAGS:
405 if ((error = suser(curthread)) != 0)
406 break;
407 if ((ifr->ifr_flags & IFF_LINK0) != 0)
408 sc->g_proto = IPPROTO_GRE;
409 else
410 sc->g_proto = IPPROTO_MOBILE;
411 if ((ifr->ifr_flags & IFF_LINK2) != 0)
412 sc->wccp_ver = WCCP_V2;
413 else
414 sc->wccp_ver = WCCP_V1;
415 goto recompute;
416 case SIOCSIFMTU:
417 if ((error = suser(curthread)) != 0)
418 break;
419 if (ifr->ifr_mtu < 576) {
420 error = EINVAL;
421 break;
422 }
--- 331 unchanged lines hidden ---