package org.freertr.rtr; import java.util.List; import org.freertr.addr.addrIP; import org.freertr.addr.addrIPv4; import org.freertr.ip.ipRtr; import org.freertr.tab.tabRoute; import org.freertr.user.userHelping; import org.freertr.util.cmds; /** * one flexible algorithm * * @author matecsaba */ public class rtrAlgoVrf extends ipRtr { private final rtrAlgo parent; /** * unregister from ip */ public void unregister2ip() { parent.fwd.routerDel(this); } /** * register to ip */ public void register2ip() { parent.fwd.routerAdd(this, parent.typ, parent.prc); } /** * update routes * * @param rou route table */ public void update2ip(tabRoute rou) { rou.setProto(routerProtoTyp, routerProcNum); if (rou.preserveTime(routerComputedU)) { return; } routerComputedU = rou; routerComputedM = rou; parent.fwd.routerChg(this, false); } /** * create new instance * * @param p parent to use */ public rtrAlgoVrf(rtrAlgo p) { parent = p; } /** * convert to string * * @return string */ public String toString() { return "flexalgo on " + parent.fwd; } public synchronized void routerCreateComputed() { } public void routerRedistChanged() { } public void routerOthersChanged() { } public void routerGetHelp(userHelping l) { } public void routerGetConfig(List l, String beg, int filter) { } public boolean routerConfigure(cmds cmd) { return true; } public void routerCloseNow() { } public int routerNeighCount() { return 0; } public void routerNeighList(tabRoute tab) { } public int routerIfaceCount() { return 0; } public int routerRecursions() { return 1; } public void routerLinkStates(tabRoute tab, int par, int asn, addrIPv4 adv) { } }