There are no available options for this view.

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by vladb38, Mon May 28 21:27:19 2012 UTC revision 1.2 by vladb38, Mon Jul 2 22:22:51 2012 UTC
# Line 1  Line 1 
1  /*      $NetBSD: ip6_input.c,v 1.137 2012/03/22 20:34:40 drochner Exp $ */  /*      $NetBSD: ip6_input.c,v 1.140 2012/06/25 15:28:40 christos Exp $ */
2  /*      $KAME: ip6_input.c,v 1.188 2001/03/29 05:34:31 itojun Exp $     */  /*      $KAME: ip6_input.c,v 1.188 2001/03/29 05:34:31 itojun Exp $     */
3    
4  /*  /*
# Line 62  Line 62 
62   */   */
63    
64  #include <sys/cdefs.h>  #include <sys/cdefs.h>
65  __KERNEL_RCSID(0, "$NetBSD: ip6_input.c,v 1.137 2012/03/22 20:34:40 drochner Exp $");  __KERNEL_RCSID(0, "$NetBSD: ip6_input.c,v 1.140 2012/06/25 15:28:40 christos Exp $");
66    
67  #include "opt_gateway.h"  #include "opt_gateway.h"
68  #include "opt_inet.h"  #include "opt_inet.h"
# Line 103  Line 103 
103  #include <netinet/ip_icmp.h>  #include <netinet/ip_icmp.h>
104  #endif /* INET */  #endif /* INET */
105  #include <netinet/ip6.h>  #include <netinet/ip6.h>
106    #include <netinet/portalgo.h>
107  #include <netinet6/in6_var.h>  #include <netinet6/in6_var.h>
108  #include <netinet6/ip6_var.h>  #include <netinet6/ip6_var.h>
109  #include <netinet6/ip6_private.h>  #include <netinet6/ip6_private.h>
# Line 1096  Line 1097 
1097                              SCM_OTIMESTAMP, SOL_SOCKET);                              SCM_OTIMESTAMP, SOL_SOCKET);
1098                  } else                  } else
1099  #endif  #endif
1100                    if ( in6p->in6p_socket->so_options & SO_TIMESTAMPNS
1101                        || in6p->in6p_socket->so_options & SO_TIMESTAMPING) {
1102                            struct timespec ts;
1103    
1104                            /* get timespec from m_tags */
1105    
1106                            *mp = sbcreatecontrol((void *) &ts, sizeof(ts),
1107                            SCM_TIMESPEC, SOL_SOCKET);
1108                    } else
1109                  *mp = sbcreatecontrol((void *) &tv, sizeof(tv),                  *mp = sbcreatecontrol((void *) &tv, sizeof(tv),
1110                      SCM_TIMESTAMP, SOL_SOCKET);                      SCM_TIMESTAMP, SOL_SOCKET);
1111                  if (*mp)                  if (*mp)
# Line 1956  Line 1966 
1966                          CTL_NET, PF_INET6, IPPROTO_IPV6,                          CTL_NET, PF_INET6, IPPROTO_IPV6,
1967                          CTL_CREATE, CTL_EOL);                          CTL_CREATE, CTL_EOL);
1968  #endif  #endif
1969            /* anonportalgo RFC6056 subtree */
1970            const struct sysctlnode *portalgo_node;
1971            sysctl_createv(clog, 0, NULL, &portalgo_node,
1972                           CTLFLAG_PERMANENT,
1973                           CTLTYPE_NODE, "anonportalgo",
1974                           SYSCTL_DESCR("Anonymous port algorithm selection (RFC 6056)"),
1975                           NULL, 0, NULL, 0,
1976                           CTL_NET, PF_INET6, IPPROTO_IPV6, CTL_CREATE, CTL_EOL);
1977            sysctl_createv(clog, 0, &portalgo_node, NULL,
1978                           CTLFLAG_PERMANENT,
1979                           CTLTYPE_STRING, "available",
1980                           SYSCTL_DESCR("available algorithms"),
1981                           sysctl_portalgo_available, 0, NULL, PORTALGO_MAXLEN,
1982                           CTL_CREATE, CTL_EOL);
1983            sysctl_createv(clog, 0, &portalgo_node, NULL,
1984                           CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
1985                           CTLTYPE_STRING, "selected",
1986                           SYSCTL_DESCR("selected algorithm"),
1987                           sysctl_portalgo_selected6, 0, NULL, PORTALGO_MAXLEN,
1988                           CTL_CREATE, CTL_EOL);
1989            sysctl_createv(clog, 0, NULL, NULL,
1990                           CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
1991                           CTLTYPE_INT, "neighborgcthresh",
1992                           SYSCTL_DESCR("Maximum number of entries in neighbor"
1993                            " cache"),
1994                           NULL, 1, &ip6_neighborgcthresh, 0,
1995                           CTL_NET, PF_INET6, IPPROTO_IPV6,
1996                           CTL_CREATE, CTL_EOL);
1997            sysctl_createv(clog, 0, NULL, NULL,
1998                           CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
1999                           CTLTYPE_INT, "maxifprefixes",
2000                           SYSCTL_DESCR("Maximum number of prefixes created by"
2001                               " route advertisement per interface"),
2002                           NULL, 1, &ip6_maxifprefixes, 0,
2003                           CTL_NET, PF_INET6, IPPROTO_IPV6,
2004                           CTL_CREATE, CTL_EOL);
2005            sysctl_createv(clog, 0, NULL, NULL,
2006                           CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
2007                           CTLTYPE_INT, "maxifdefrouters",
2008                           SYSCTL_DESCR("Maximum number of default routers created"
2009                               " by route advertisement per interface"),
2010                           NULL, 1, &ip6_maxifdefrouters, 0,
2011                           CTL_NET, PF_INET6, IPPROTO_IPV6,
2012                           CTL_CREATE, CTL_EOL);
2013            sysctl_createv(clog, 0, NULL, NULL,
2014                           CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
2015                           CTLTYPE_INT, "maxdynroutes",
2016                           SYSCTL_DESCR("Maximum number of routes created via"
2017                               " redirect"),
2018                           NULL, 1, &ip6_maxdynroutes, 0,
2019                           CTL_NET, PF_INET6, IPPROTO_IPV6,
2020                           CTL_CREATE, CTL_EOL);
2021  }  }
2022    
2023  void  void

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2