1/* $NetBSD: if_gre.c,v 1.42 2002/08/14 00:23:27 itojun Exp $ */
2/* $FreeBSD: head/sys/net/if_gre.c 105300 2002-10-16 22:26:32Z alfred $ */
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 *
--- 79 unchanged lines hidden (view full) ---
90#define GREMTU 1476
91
92#define GRENAME "gre"
93
94static MALLOC_DEFINE(M_GRE, GRENAME, "Generic Routing Encapsulation");
95
96struct gre_softc_head gre_softc_list;
97
98static int gre_clone_create(struct if_clone *, int);
99static void gre_clone_destroy(struct ifnet *);
100static int gre_ioctl(struct ifnet *, u_long, caddr_t);
101static int gre_output(struct ifnet *, struct mbuf *, struct sockaddr *,
102 struct rtentry *rt);
103
104static struct if_clone gre_cloner =
105 IF_CLONE_INITIALIZER("gre", gre_clone_create, gre_clone_destroy, 0, IF_MAXUNIT);
106
107static int gre_compute_route(struct gre_softc *sc);
108
109static void greattach(void);
110
111#ifdef INET
112extern struct domain inetdomain;
113static const struct protosw in_gre_protosw =
114{ SOCK_RAW, &inetdomain, IPPROTO_GRE, PR_ATOMIC|PR_ADDR,
115 (pr_input_t*)gre_input, (pr_output_t*)rip_output, rip_ctlinput, rip_ctloutput,
116 0,
117 0, 0, 0, 0,
--- 639 unchanged lines hidden ---
2/* $FreeBSD: head/sys/net/if_gre.c 105300 2002-10-16 22:26:32Z alfred $ */
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 *
--- 79 unchanged lines hidden (view full) ---
90#define GREMTU 1476
91
92#define GRENAME "gre"
93
94static MALLOC_DEFINE(M_GRE, GRENAME, "Generic Routing Encapsulation");
95
96struct gre_softc_head gre_softc_list;
97
98static int gre_clone_create(struct if_clone *, int);
99static void gre_clone_destroy(struct ifnet *);
100static int gre_ioctl(struct ifnet *, u_long, caddr_t);
101static int gre_output(struct ifnet *, struct mbuf *, struct sockaddr *,
102 struct rtentry *rt);
103
104static struct if_clone gre_cloner =
105 IF_CLONE_INITIALIZER("gre", gre_clone_create, gre_clone_destroy, 0, IF_MAXUNIT);
106
107static int gre_compute_route(struct gre_softc *sc);
108
109static void greattach(void);
110
111#ifdef INET
112extern struct domain inetdomain;
113static const struct protosw in_gre_protosw =
114{ SOCK_RAW, &inetdomain, IPPROTO_GRE, PR_ATOMIC|PR_ADDR,
115 (pr_input_t*)gre_input, (pr_output_t*)rip_output, rip_ctlinput, rip_ctloutput,
116 0,
117 0, 0, 0, 0,
--- 639 unchanged lines hidden ---