Annotation of embedaddon/pimdd/dvmrp_proto.c, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright (c) 1998 by the University of Southern California.
! 3: * All rights reserved.
! 4: *
! 5: * Permission to use, copy, modify, and distribute this software and
! 6: * its documentation in source and binary forms for lawful
! 7: * purposes and without fee is hereby granted, provided
! 8: * that the above copyright notice appear in all copies and that both
! 9: * the copyright notice and this permission notice appear in supporting
! 10: * documentation, and that any documentation, advertising materials,
! 11: * and other materials related to such distribution and use acknowledge
! 12: * that the software was developed by the University of Southern
! 13: * California and/or Information Sciences Institute.
! 14: * The name of the University of Southern California may not
! 15: * be used to endorse or promote products derived from this software
! 16: * without specific prior written permission.
! 17: *
! 18: * THE UNIVERSITY OF SOUTHERN CALIFORNIA DOES NOT MAKE ANY REPRESENTATIONS
! 19: * ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS SOFTWARE IS
! 20: * PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
! 21: * INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
! 22: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND
! 23: * NON-INFRINGEMENT.
! 24: *
! 25: * IN NO EVENT SHALL USC, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
! 26: * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
! 27: * TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
! 28: * THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 29: *
! 30: * Other copyrights might apply to parts of this software and are so
! 31: * noted when applicable.
! 32: */
! 33: /*
! 34: * Questions concerning this software should be directed to
! 35: * Pavlin Ivanov Radoslavov (pavlin@catarina.usc.edu)
! 36: *
! 37: * $Id: dvmrp_proto.c,v 1.1.1.1 1998/05/11 17:39:34 kurtw Exp $
! 38: */
! 39:
! 40: #include "defs.h"
! 41:
! 42:
! 43: /* TODO */
! 44: /*
! 45: * Process an incoming neighbor probe message.
! 46: */
! 47: void
! 48: dvmrp_accept_probe(src, dst, p, datalen, level)
! 49: u_int32 src;
! 50: u_int32 dst;
! 51: char *p;
! 52: int datalen;
! 53: u_int32 level;
! 54: {
! 55: return;
! 56: }
! 57:
! 58:
! 59: /* TODO */
! 60: /*
! 61: * Process an incoming route report message.
! 62: */
! 63: void
! 64: dvmrp_accept_report(src, dst, p, datalen, level)
! 65: u_int32 src;
! 66: u_int32 dst;
! 67: register char *p;
! 68: register int datalen;
! 69: u_int32 level;
! 70: {
! 71: return;
! 72: }
! 73:
! 74:
! 75: /* TODO */
! 76: void
! 77: dvmrp_accept_info_request(src, dst, p, datalen)
! 78: u_int32 src;
! 79: u_int32 dst;
! 80: u_char *p;
! 81: int datalen;
! 82: {
! 83: return;
! 84: }
! 85:
! 86:
! 87: /*
! 88: * Process an incoming info reply message.
! 89: */
! 90: void
! 91: dvmrp_accept_info_reply(src, dst, p, datalen)
! 92: u_int32 src;
! 93: u_int32 dst;
! 94: u_char *p;
! 95: int datalen;
! 96: {
! 97: IF_DEBUG(DEBUG_PKT)
! 98: log(LOG_DEBUG, 0, "ignoring spurious DVMRP info reply from %s to %s",
! 99: inet_fmt(src, s1), inet_fmt(dst, s2));
! 100: }
! 101:
! 102:
! 103: /*
! 104: * Process an incoming neighbor-list message.
! 105: */
! 106: void
! 107: dvmrp_accept_neighbors(src, dst, p, datalen, level)
! 108: u_int32 src;
! 109: u_int32 dst;
! 110: u_char *p;
! 111: int datalen;
! 112: u_int32 level;
! 113: {
! 114: log(LOG_INFO, 0, "ignoring spurious DVMRP neighbor list from %s to %s",
! 115: inet_fmt(src, s1), inet_fmt(dst, s2));
! 116: }
! 117:
! 118:
! 119: /*
! 120: * Process an incoming neighbor-list message.
! 121: */
! 122: void
! 123: dvmrp_accept_neighbors2(src, dst, p, datalen, level)
! 124: u_int32 src;
! 125: u_int32 dst;
! 126: u_char *p;
! 127: int datalen;
! 128: u_int32 level;
! 129: {
! 130: IF_DEBUG(DEBUG_PKT)
! 131: log(LOG_DEBUG, 0,
! 132: "ignoring spurious DVMRP neighbor list2 from %s to %s",
! 133: inet_fmt(src, s1), inet_fmt(dst, s2));
! 134: }
! 135:
! 136:
! 137: /* TODO */
! 138: /*
! 139: * Takes the prune message received and then strips it to
! 140: * determine the (src, grp) pair to be pruned.
! 141: *
! 142: * Adds the router to the (src, grp) entry then.
! 143: *
! 144: * Determines if further packets have to be sent down that vif
! 145: *
! 146: * Determines if a corresponding prune message has to be generated
! 147: */
! 148: void
! 149: dvmrp_accept_prune(src, dst, p, datalen)
! 150: u_int32 src;
! 151: u_int32 dst;
! 152: char *p;
! 153: int datalen;
! 154: {
! 155: return;
! 156: }
! 157:
! 158:
! 159: /* TODO */
! 160: /* determine the multicast group and src
! 161: *
! 162: * if it does, then determine if a prune was sent
! 163: * upstream.
! 164: * if prune sent upstream, send graft upstream and send
! 165: * ack downstream.
! 166: *
! 167: * if no prune sent upstream, change the forwarding bit
! 168: * for this interface and send ack downstream.
! 169: *
! 170: * if no entry exists for this group send ack downstream.
! 171: */
! 172: void
! 173: dvmrp_accept_graft(src, dst, p, datalen)
! 174: u_int32 src;
! 175: u_int32 dst;
! 176: char *p;
! 177: int datalen;
! 178: {
! 179: return;
! 180: }
! 181:
! 182:
! 183: /* TODO */
! 184: /*
! 185: * find out which group is involved first of all
! 186: * then determine if a graft was sent.
! 187: * if no graft sent, ignore the message
! 188: * if graft was sent and the ack is from the right
! 189: * source, remove the graft timer so that we don't
! 190: * have send a graft again
! 191: */
! 192: void
! 193: dvmrp_accept_g_ack(src, dst, p, datalen)
! 194: u_int32 src;
! 195: u_int32 dst;
! 196: char *p;
! 197: int datalen;
! 198: {
! 199: return;
! 200: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>