在我的路由协议中,我想定期动态更新路由表,到目前为止,我正在从我的代理向路由表添加路由条目,方法是发送RouteDiscoveryNtf
向路由器代理发送消息,这类似于使用addroute
封闭在壳内。
我想知道,我如何删除路由条目。这样,我就可以用新条目更新路由表。作为,delroute
, delroutesto
,delroutes
闭包在 shell 中工作,不能在代理中使用。
我还想知道我的方法是否适合动态更新路由表,或者是否有其他更好的方法来执行此操作。请帮忙。
当前版本的 UnetStack (1.4) 没有定义删除路由的消息,因此没有“正确”的方法来要求路由器删除路由。后续版本可能会为此引入消息。现在,您可以按照与delroute
, delroutes
and delroutesto
shell 函数可以做到这一点,但请记住,您可能需要在 UnetStack 的更高版本中更新此内容.
The router
代理公开两个未列出的参数(removeRoute
and removeRoutesTo
)以允许删除路线。一旦 UnetStack 为此目的定义了消息,这些可能会在未来版本中被删除。
显示 3 个 shell 函数如何实现的代码片段:
// remove route number n (0 based numbering)
void delroute(n) {
router.removeRoute = n-1
}
// remote all routes in routing table
void delroutes() {
router.removeRoute = -1
}
// remove all routes to node
void delroutesto(node) {
router.removeRoutesTo = node
}
如果您在 Groovy 中实现,则可以使用几乎相同的代码router
是AgentID
或路由器代理。如果您使用 Java 实现,则必须发送适当的ParameterReq
设置这些参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)