/*
* Copyright (c) 1998 by the University of Southern California.
* All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and
* its documentation in source and binary forms for lawful
* purposes and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both
* the copyright notice and this permission notice appear in supporting
* documentation, 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 Southern
* California and/or Information Sciences Institute.
* The name of the University of Southern California may not
* be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THE UNIVERSITY OF SOUTHERN CALIFORNIA DOES NOT MAKE ANY REPRESENTATIONS
* ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS SOFTWARE IS
* PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND
* NON-INFRINGEMENT.
*
* IN NO EVENT SHALL USC, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
* SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
* TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
* THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Other copyrights might apply to parts of this software and are so
* noted when applicable.
*/
/*
* Questions concerning this software should be directed to
* Pavlin Ivanov Radoslavov (pavlin@catarina.usc.edu)
*
* $Id: dvmrp_proto.c,v 1.1.1.1 2017/06/12 07:58:55 misho Exp $
*/
#include "defs.h"
/* TODO */
/*
* Process an incoming neighbor probe message.
*/
void
dvmrp_accept_probe(src, dst, p, datalen, level)
u_int32 src;
u_int32 dst;
char *p;
int datalen;
u_int32 level;
{
return;
}
/* TODO */
/*
* Process an incoming route report message.
*/
void
dvmrp_accept_report(src, dst, p, datalen, level)
u_int32 src;
u_int32 dst;
register char *p;
register int datalen;
u_int32 level;
{
return;
}
/* TODO */
void
dvmrp_accept_info_request(src, dst, p, datalen)
u_int32 src;
u_int32 dst;
u_char *p;
int datalen;
{
return;
}
/*
* Process an incoming info reply message.
*/
void
dvmrp_accept_info_reply(src, dst, p, datalen)
u_int32 src;
u_int32 dst;
u_char *p;
int datalen;
{
IF_DEBUG(DEBUG_PKT)
log(LOG_DEBUG, 0, "ignoring spurious DVMRP info reply from %s to %s",
inet_fmt(src, s1), inet_fmt(dst, s2));
}
/*
* Process an incoming neighbor-list message.
*/
void
dvmrp_accept_neighbors(src, dst, p, datalen, level)
u_int32 src;
u_int32 dst;
u_char *p;
int datalen;
u_int32 level;
{
log(LOG_INFO, 0, "ignoring spurious DVMRP neighbor list from %s to %s",
inet_fmt(src, s1), inet_fmt(dst, s2));
}
/*
* Process an incoming neighbor-list message.
*/
void
dvmrp_accept_neighbors2(src, dst, p, datalen, level)
u_int32 src;
u_int32 dst;
u_char *p;
int datalen;
u_int32 level;
{
IF_DEBUG(DEBUG_PKT)
log(LOG_DEBUG, 0,
"ignoring spurious DVMRP neighbor list2 from %s to %s",
inet_fmt(src, s1), inet_fmt(dst, s2));
}
/* TODO */
/*
* Takes the prune message received and then strips it to
* determine the (src, grp) pair to be pruned.
*
* Adds the router to the (src, grp) entry then.
*
* Determines if further packets have to be sent down that vif
*
* Determines if a corresponding prune message has to be generated
*/
void
dvmrp_accept_prune(src, dst, p, datalen)
u_int32 src;
u_int32 dst;
char *p;
int datalen;
{
return;
}
/* TODO */
/* determine the multicast group and src
*
* if it does, then determine if a prune was sent
* upstream.
* if prune sent upstream, send graft upstream and send
* ack downstream.
*
* if no prune sent upstream, change the forwarding bit
* for this interface and send ack downstream.
*
* if no entry exists for this group send ack downstream.
*/
void
dvmrp_accept_graft(src, dst, p, datalen)
u_int32 src;
u_int32 dst;
char *p;
int datalen;
{
return;
}
/* TODO */
/*
* find out which group is involved first of all
* then determine if a graft was sent.
* if no graft sent, ignore the message
* if graft was sent and the ack is from the right
* source, remove the graft timer so that we don't
* have send a graft again
*/
void
dvmrp_accept_g_ack(src, dst, p, datalen)
u_int32 src;
u_int32 dst;
char *p;
int datalen;
{
return;
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>