mirror of
https://gitee.com/willfree/mlsr.git
synced 2026-10-04 19:42:02 +08:00
59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
// Package route
|
|
// @Author: Wang Feng
|
|
// @Description:
|
|
// @Version: 0.1.0
|
|
// @Date: 2022/6/24 21:33
|
|
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
|
//
|
|
|
|
package route
|
|
|
|
import (
|
|
"fmt"
|
|
"minlib/component"
|
|
"testing"
|
|
)
|
|
|
|
//
|
|
// TestNamePrefixTable_AddEntry
|
|
// @Description: 名称前缀表,增加条目
|
|
// @param t
|
|
//
|
|
func TestNamePrefixTableEntry_AddEntry(t *testing.T) {
|
|
// 第一个RTPE
|
|
iden, _ := component.CreateIdentifierByString("/RouterC")
|
|
rtpe := new(RoutingTablePoolEntry)
|
|
rtpe.InitDest(iden, 123)
|
|
hop := new(NextHop)
|
|
hop.Init("tcp://1.1.1.1", 1)
|
|
rtpe.AddNextHop(hop)
|
|
|
|
// 名称前缀
|
|
namePrefix, _ := component.CreateIdentifierByString("/pku/pdf")
|
|
npte := new(NamePrefixTableEntry)
|
|
npte.Init(namePrefix)
|
|
// 打印该名称前缀
|
|
fmt.Println("名称前缀: ", npte.GetNamePrefix().ToUri())
|
|
|
|
// 增加rtpe
|
|
npte.AddRoutingTableEntry(rtpe)
|
|
fmt.Println(npte.ToString())
|
|
|
|
// 第二个rtpe
|
|
iden2, _ := component.CreateIdentifierByString("/RouterB")
|
|
rtpe2 := new(RoutingTablePoolEntry)
|
|
rtpe2.InitDest(iden2, 12)
|
|
hop2 := new(NextHop)
|
|
hop2.Init("tcp://1.1.1.0", 1)
|
|
rtpe2.AddNextHop(hop2)
|
|
npte.AddRoutingTableEntry(rtpe2)
|
|
|
|
// 生成下一跳列表
|
|
npte.GenerateNhlfromRteList()
|
|
fmt.Println(npte.ToString())
|
|
|
|
// 删除某个rtpe
|
|
npte.RemoveRoutingTableEntry(rtpe2)
|
|
fmt.Println(npte.ToString())
|
|
}
|