2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 2N/A * pktinfo is where packet ID info can be made available for deeper 2N/A * analysis if packet IDs become supported by the kernel in the future. 2N/A * The pkt_addr member is currently always NULL. 2N/A * csinfo is where connection state info is made available. 2N/A * ipinfo contains common IP info for both IPv4 and IPv6. 2N/A * ifinfo contains network interface info. 2N/A * ipv4info is a translated version of the IPv4 header (with raw pointer). 2N/A * These values are NULL if the packet is not IPv4. 2N/A * ipv6info is a translated version of the IPv6 header (with raw pointer). 2N/A * These values are NULL if the packet is not IPv6. 2N/A * void_ip_t is a void pointer to either an IPv4 or IPv6 header. It has 2N/A * its own type name so that a translator can be determined. 2N/A * __dtrace_ipsr_ill_t is used by the translator to take an ill_t plus an 2N/A * additional arg6 from the ip:::send and ip:::recieve probes, and translate 2N/A * them to an ifinfo_t. 2N/A * __dtrace_tcp_void_ip_t is used by the translator to take either the 2N/A * non-NULL void_ip_t * passed in or, if it is NULL, uses arg3 (tcp_t *) 2N/A * from the tcp:::send and tcp:::recieve probes to translate to an ipinfo_t. 2N/A * When no headers are available in the TCP fusion case for tcp:::send 2N/A * and tcp:::receive case, this allows us to present the consumer with header 2N/A * data based on the tcp_t * content in order to hide the implementation 2N/A * details of TCP fusion. 2N/A * Translate to an ipinfo_t * from either the non-NULL void_ip_t * passed in, 2N/A * or use arg3 (tcp_t *) to fabricate ip header info. 2N/A 0x0fffffff) >>
20) :
0;