summaryrefslogtreecommitdiff
path: root/sys/netmpls/mpls.h
diff options
context:
space:
mode:
authorMichele Marchetto <michele@cvs.openbsd.org>2008-11-01 16:37:56 +0000
committerMichele Marchetto <michele@cvs.openbsd.org>2008-11-01 16:37:56 +0000
commitf723c9f48787cea7734d262afdc442af3bb26d38 (patch)
tree1fa67bae3f7963de2b83ce699ba4e25c66163a53 /sys/netmpls/mpls.h
parent80e890cd112608c6aca701f2a0ecf679ae37e447 (diff)
Introduced Uniform Model for TTL handling.
MPLS TTL is mapped into network layer one as the packet exits the LSP. Just IPv4 support for now. Added the relevant sysctls to enable this behaviour. Input and OK claudio@
Diffstat (limited to 'sys/netmpls/mpls.h')
-rw-r--r--sys/netmpls/mpls.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/sys/netmpls/mpls.h b/sys/netmpls/mpls.h
index 7b4b464d642..03017c9b63c 100644
--- a/sys/netmpls/mpls.h
+++ b/sys/netmpls/mpls.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpls.h,v 1.13 2008/10/28 01:16:14 michele Exp $ */
+/* $OpenBSD: mpls.h,v 1.14 2008/11/01 16:37:55 michele Exp $ */
/*
* Copyright (C) 1999, 2000 and 2001 AYAME Project, WIDE Project.
@@ -116,7 +116,9 @@ struct sockaddr_mpls {
#define MPLSCTL_DEFTTL 2
#define MPLSCTL_IFQUEUE 3
#define MPLSCTL_MAXINKLOOP 4
-#define MPLSCTL_MAXID 5
+#define MPLSCTL_MAPTTL_IP 5
+#define MPLSCTL_MAPTTL_IP6 6
+#define MPLSCTL_MAXID 7
#define MPLSCTL_NAMES { \
{ 0, 0 }, \
@@ -124,6 +126,8 @@ struct sockaddr_mpls {
{ "ttl", CTLTYPE_INT }, \
{ "ifq", CTLTYPE_NODE },\
{ "maxloop_inkernel", CTLTYPE_INT }, \
+ { "mapttl_ip", CTLTYPE_INT }, \
+ { "mapttl_ip6", CTLTYPE_INT }, \
}
#define MPLSCTL_VARS { \
@@ -132,6 +136,8 @@ struct sockaddr_mpls {
&mpls_defttl, \
0, \
&mpls_inkloop, \
+ &mpls_mapttl_ip, \
+ &mpls_mapttl_ip6, \
}
#endif
@@ -151,9 +157,9 @@ struct mpe_softc {
#define MPE_MTU_MAX 8192
void mpe_input(struct mbuf *, struct ifnet *, struct sockaddr_mpls *,
- u_int32_t);
+ u_int8_t);
void mpe_input6(struct mbuf *, struct ifnet *, struct sockaddr_mpls *,
- u_int32_t);
+ u_int8_t);
extern int mpls_raw_usrreq(struct socket *, int, struct mbuf *,
struct mbuf *, struct mbuf *, struct proc *);