return CMD_SUCCESS;
}
-/* [Interface Command]. */
-DEFUN (babel_passive_interface,
- babel_passive_interface_cmd,
- "babel passive-interface",
- "Babel interface commands\n"
- "Only announce redistributed routes on this interface\n")
-{
- if (allow_duplicates) {
- return CMD_WARNING;
- }
- parasitic = 1;
- return CMD_SUCCESS;
-}
-
-/* [Interface Command]. */
-DEFUN (no_babel_passive_interface,
- no_babel_passive_interface_cmd,
- "no babel passive-interface",
- NO_STR
- "Babel interface commands\n"
- "Announce all routes on this interface\n")
-{
- parasitic = 0;
- return CMD_SUCCESS;
-}
-
/* This should be no more than half the hello interval, so that hellos
aren't sent late. The result is in milliseconds. */
unsigned
install_element(INTERFACE_NODE, &babel_set_wireless_cmd);
install_element(INTERFACE_NODE, &babel_set_hello_interval_cmd);
install_element(INTERFACE_NODE, &babel_set_update_interval_cmd);
- install_element(INTERFACE_NODE, &babel_passive_interface_cmd);
- install_element(INTERFACE_NODE, &no_babel_passive_interface_cmd);
/* "show babel ..." commands */
install_element(VIEW_NODE, &show_babel_interface_cmd);
resend_delay = BABEL_DEFAULT_RESEND_DELAY;
- if(parasitic && allow_duplicates >= 0) {
- /* Too difficult to get right. */
- zlog_err("Sorry, -P and -A are incompatible.");
- exit(1);
- }
-
babel_replace_by_null(STDIN_FILENO);
if (do_daemonise && daemonise() < 0) {
"vty address = %s%s"
"vty port = %d%s"
"id = %s%s"
- "parasitic = %s%s"
"allow_duplicates = %s%s"
"kernel_metric = %d%s",
pidfile, VTY_NEWLINE,
VTY_NEWLINE,
babel_vty_port, VTY_NEWLINE,
format_eui64(myid), VTY_NEWLINE,
- format_bool(parasitic), VTY_NEWLINE,
format_bool(allow_duplicates), VTY_NEWLINE,
kernel_metric, VTY_NEWLINE);
}
unsigned char packet_header[4] = {42, 2};
-int parasitic = 0;
int split_horizon = 1;
unsigned short myseqno = 0;
babel_ifp = babel_get_if_nfo(ifp);
if(prefix) {
- if(!parasitic || find_xroute(prefix, plen)) {
- debugf(BABEL_DEBUG_COMMON,"Sending update to %s for %s.",
- ifp->name, format_prefix(prefix, plen));
- buffer_update(ifp, prefix, plen);
- }
+ debugf(BABEL_DEBUG_COMMON,"Sending update to %s for %s.",
+ ifp->name, format_prefix(prefix, plen));
+ buffer_update(ifp, prefix, plen);
} else {
send_self_update(ifp);
- if(!parasitic) {
- debugf(BABEL_DEBUG_COMMON,"Sending update to %s for any.",
- ifp->name);
- for_all_installed_routes(buffer_update_callback, ifp);
- }
+ debugf(BABEL_DEBUG_COMMON,"Sending update to %s for any.", ifp->name);
+ for_all_installed_routes(buffer_update_callback, ifp);
set_timeout(&babel_ifp->update_timeout, babel_ifp->update_interval);
babel_ifp->last_update_time = babel_now.tv_sec;
}
extern unsigned short myseqno;
extern struct timeval seqno_time;
-extern int parasitic;
extern int broadcast_ihu;
extern int split_horizon;
should only be used on symmetric and transitive (wired) networks.
@end deffn
-@deffn {Interface Command} {babel passive-interface}
-@deffnx {Interface Command} {no babel passive-interface}
-Specifies whether this interface is passive. Note that this is
-a little weaker than RIP's notion of passive interface, since Babel
-always sends Hello packets and announces redistributed routes, even on
-passive interfaces.
-@end deffn
-
@deffn {Interface Command} {babel hello-interval <20-655340>}
Specifies the time in milliseconds between two scheduled hellos. On
wired links, Babel notices a link failure within two hello intervals;