diff options
author | thompsa <thompsa@FreeBSD.org> | 2008-06-20 17:26:34 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2008-06-20 17:26:34 +0000 |
commit | 0c235e44e0fb17bd33556dadd61d7697ab1920d5 (patch) | |
tree | a90b65055cf5a78462a29c060cc9bd280ab22b9d /sys/net/if_gre.h | |
parent | bf94b8a5bffc3904edd54af89110562e9fe1a2dc (diff) | |
download | FreeBSD-src-0c235e44e0fb17bd33556dadd61d7697ab1920d5.zip FreeBSD-src-0c235e44e0fb17bd33556dadd61d7697ab1920d5.tar.gz |
Add support for the optional key in the GRE header.
PR: kern/114714
Submitted by: Cristian KLEIN
Diffstat (limited to 'sys/net/if_gre.h')
-rw-r--r-- | sys/net/if_gre.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/net/if_gre.h b/sys/net/if_gre.h index 3c34bec..186d4cc 100644 --- a/sys/net/if_gre.h +++ b/sys/net/if_gre.h @@ -70,6 +70,9 @@ struct gre_softc { int called; /* infinite recursion preventer */ + uint32_t key; /* key included in outgoing GRE packets */ + /* zero means none */ + wccp_ver_t wccp_ver; /* version of the WCCP */ }; #define GRE2IFP(sc) ((sc)->sc_ifp) @@ -79,6 +82,7 @@ struct gre_h { u_int16_t flags; /* GRE flags */ u_int16_t ptype; /* protocol type of payload typically Ether protocol type*/ + uint32_t options[0]; /* optional options */ /* * from here on: fields are optional, presence indicated by flags * @@ -111,6 +115,7 @@ struct greip { #define gi_dst gi_i.ip_dst #define gi_ptype gi_g.ptype #define gi_flags gi_g.flags +#define gi_options gi_g.options #define GRE_CP 0x8000 /* Checksum Present */ #define GRE_RP 0x4000 /* Routing Present */ @@ -175,6 +180,8 @@ struct mobip_h { #define GREGADDRD _IOWR('i', 104, struct ifreq) #define GRESPROTO _IOW('i' , 105, struct ifreq) #define GREGPROTO _IOWR('i', 106, struct ifreq) +#define GREGKEY _IOWR('i', 107, struct ifreq) +#define GRESKEY _IOW('i', 108, struct ifreq) #ifdef _KERNEL LIST_HEAD(gre_softc_head, gre_softc); |