X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/0eb85d71cc073719bc6d3067b7fe74208b8db42a..787d3210186ed1c1d0479fd7c0cc0ca6256380ff:/usr/src/sbin/routed/trace.h diff --git a/usr/src/sbin/routed/trace.h b/usr/src/sbin/routed/trace.h index 3046d0fee4..1582c088bd 100644 --- a/usr/src/sbin/routed/trace.h +++ b/usr/src/sbin/routed/trace.h @@ -1,15 +1,20 @@ /* - * Copyright (c) 1983 Regents of the University of California. + * Copyright (c) 1983, 1988 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted - * provided that this notice is preserved and that due credit is given - * to the University of California at Berkeley. The name of the University - * may not be used to endorse or promote products derived from this - * software without specific prior written permission. This software - * is provided ``as is'' without express or implied warranty. + * provided that the above copyright notice and this paragraph are + * duplicated in all such forms and that any documentation, + * advertising materials, and other materials related to such + * distribution and use acknowledge that the software was developed + * by the University of California, Berkeley. The name of the + * University may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#)trace.h 5.3 (Berkeley) %G% + * @(#)trace.h 5.7 (Berkeley) %G% */ /* @@ -20,7 +25,7 @@ * Trace record format. */ struct iftrace { - time_t ift_stamp; /* time stamp */ + struct timeval ift_stamp; /* time stamp */ struct sockaddr ift_who; /* from/to */ char *ift_packet; /* pointer to packet */ short ift_size; /* size of packet */ @@ -44,26 +49,32 @@ struct ifdebug { * Packet tracing stuff. */ int tracepackets; /* watch packets as they go by */ -int tracing; /* on/off */ +int tracecontents; /* watch packet contents as they go by */ +int traceactions; /* on/off */ +int tracehistory; /* on/off */ FILE *ftrace; /* output trace file */ #define TRACE_ACTION(action, route) { \ - if (tracing) \ - traceaction(ftrace, "action", route); \ + if (traceactions) \ + traceaction(ftrace, action, route); \ } -#define TRACE_INPUT(ifp, src, size) { \ - if (tracing) { \ +#define TRACE_NEWMETRIC(route, newmetric) { \ + if (traceactions) \ + tracenewmetric(ftrace, route, newmetric); \ + } +#define TRACE_INPUT(ifp, src, pack, size) { \ + if (tracehistory) { \ ifp = if_iflookup(src); \ if (ifp) \ - trace(&ifp->int_input, src, packet, size, \ + trace(&ifp->int_input, src, pack, size, \ ntohl(ifp->int_metric)); \ } \ if (tracepackets) \ - dumppacket(stdout, "from", src, packet, size); \ + dumppacket(ftrace, "from", src, pack, size, &now); \ } #define TRACE_OUTPUT(ifp, dst, size) { \ - if (tracing && ifp) \ + if (tracehistory && ifp) \ trace(&ifp->int_output, dst, packet, size, ifp->int_metric); \ if (tracepackets) \ - dumppacket(stdout, "to", dst, packet, size); \ + dumppacket(ftrace, "to", dst, packet, size, &now); \ }