diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-05-11 09:36:08 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2010-05-11 09:36:08 +0000 |
commit | 62fc95fd847703423c4902b3205c6d9517f20006 (patch) | |
tree | 7d05c62bdb72350f0f01022800ac767f57e999a4 /sys/netinet/in_gif.h | |
parent | 1b7752fdde26fac73c4c3bb416b412ce523cc945 (diff) |
Massiv cleanup of the gif(4) mess. Move encapsulation into gif_output()
where it is not necessary to guess protocols by looking at the first nibble.
in_gif_output() will encapsulate the packet but not send it. Because of
etherip support and the way the bridge works a minimal hack is needed in
gif_start() to ensure that the bridged packets are encapsulated as well.
This actually started with the idea to add MPLS support but that turned out
to be not as simple as in the gre(4) case.
Tested by myself (IP, IPv6, etherip, MPLS), sthen@ (IP, IPv6), naddy (IPv6)
OK sthen@
Diffstat (limited to 'sys/netinet/in_gif.h')
-rw-r--r-- | sys/netinet/in_gif.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet/in_gif.h b/sys/netinet/in_gif.h index 3a12d06dd91..aa4b660a2b6 100644 --- a/sys/netinet/in_gif.h +++ b/sys/netinet/in_gif.h @@ -1,4 +1,4 @@ -/* $OpenBSD: in_gif.h,v 1.5 2007/02/10 15:34:22 claudio Exp $ */ +/* $OpenBSD: in_gif.h,v 1.6 2010/05/11 09:36:07 claudio Exp $ */ /* $KAME: in_gif.h,v 1.5 2000/04/14 08:36:02 itojun Exp $ */ /* @@ -34,6 +34,6 @@ #define _NETINET_IN_GIF_H_ void in_gif_input(struct mbuf *, ...); -int in_gif_output(struct ifnet *, int, struct mbuf *); +int in_gif_output(struct ifnet *, int, struct mbuf **); #endif /*_NETINET_IN_GIF_H_*/ |