ip6_output.c (129196) | ip6_output.c (133720) |
---|---|
1/* $FreeBSD: head/sys/netinet6/ip6_output.c 129196 2004-05-14 03:57:17Z wpaul $ */ | 1/* $FreeBSD: head/sys/netinet6/ip6_output.c 133720 2004-08-14 15:32:40Z dwmalone $ */ |
2/* $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ 3 4/* 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions --- 51 unchanged lines hidden (view full) --- 61 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 62 */ 63 64#include "opt_ip6fw.h" 65#include "opt_inet.h" 66#include "opt_inet6.h" 67#include "opt_ipsec.h" 68#include "opt_pfil_hooks.h" | 2/* $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ 3 4/* 5 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions --- 51 unchanged lines hidden (view full) --- 61 * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 62 */ 63 64#include "opt_ip6fw.h" 65#include "opt_inet.h" 66#include "opt_inet6.h" 67#include "opt_ipsec.h" 68#include "opt_pfil_hooks.h" |
69#include "opt_random_ip_id.h" | |
70 71#include <sys/param.h> 72#include <sys/malloc.h> 73#include <sys/mbuf.h> 74#include <sys/proc.h> 75#include <sys/errno.h> 76#include <sys/protosw.h> 77#include <sys/socket.h> --- 953 unchanged lines hidden (view full) --- 1031 } else if (ip6->ip6_plen == 0) { 1032 /* jumbo payload cannot be fragmented */ 1033 error = EMSGSIZE; 1034 in6_ifstat_inc(ifp, ifs6_out_fragfail); 1035 goto bad; 1036 } else { 1037 struct mbuf **mnext, *m_frgpart; 1038 struct ip6_frag *ip6f; | 69 70#include <sys/param.h> 71#include <sys/malloc.h> 72#include <sys/mbuf.h> 73#include <sys/proc.h> 74#include <sys/errno.h> 75#include <sys/protosw.h> 76#include <sys/socket.h> --- 953 unchanged lines hidden (view full) --- 1030 } else if (ip6->ip6_plen == 0) { 1031 /* jumbo payload cannot be fragmented */ 1032 error = EMSGSIZE; 1033 in6_ifstat_inc(ifp, ifs6_out_fragfail); 1034 goto bad; 1035 } else { 1036 struct mbuf **mnext, *m_frgpart; 1037 struct ip6_frag *ip6f; |
1039#ifdef RANDOM_IP_ID | |
1040 u_int32_t id = htonl(ip6_randomid()); | 1038 u_int32_t id = htonl(ip6_randomid()); |
1041#else 1042 u_int32_t id = htonl(ip6_id++); 1043#endif | |
1044 u_char nextproto; 1045 struct ip6ctlparam ip6cp; 1046 u_int32_t mtu32; 1047 int qslots = ifp->if_snd.ifq_maxlen - ifp->if_snd.ifq_len; 1048 1049 /* 1050 * Too large for the destination or interface; 1051 * fragment if possible. --- 2477 unchanged lines hidden --- | 1039 u_char nextproto; 1040 struct ip6ctlparam ip6cp; 1041 u_int32_t mtu32; 1042 int qslots = ifp->if_snd.ifq_maxlen - ifp->if_snd.ifq_len; 1043 1044 /* 1045 * Too large for the destination or interface; 1046 * fragment if possible. --- 2477 unchanged lines hidden --- |