本文整理汇总了Golang中github.com/google/seesaw/ncc/client.NCC.BGPAdvertiseVIP方法的典型用法代码示例。如果您正苦于以下问题:Golang NCC.BGPAdvertiseVIP方法的具体用法?Golang NCC.BGPAdvertiseVIP怎么用?Golang NCC.BGPAdvertiseVIP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/google/seesaw/ncc/client.NCC
的用法示例。
在下文中一共展示了NCC.BGPAdvertiseVIP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: bgpTests
func bgpTests(ncc client.NCC) {
// Display the BGP neighbors.
log.Print("Getting BGP neighbors...")
neighbors, err := ncc.BGPNeighbors()
if err != nil {
log.Fatalf("Failed to get BGP neighbors")
}
for _, n := range neighbors {
log.Printf("- BGP neighbor %v, remote AS %d, state %v, uptime %v seconds",
n.IP, n.ASN, n.BGPState, n.Uptime.Seconds())
}
// Withdraw all existing network advertisements.
log.Printf("Withdrawing all network advertisements")
if err := ncc.BGPWithdrawAll(); err != nil {
log.Fatalf("Failed to withdraw BGP advertisements: %v", err)
}
// Advertise and withdraw the test-anycast VIP.
log.Printf("Advertising and withdrawing VIP %v", testAnycast)
if err := ncc.BGPAdvertiseVIP(testAnycast); err != nil {
log.Fatalf("Failed to advertise VIP %v: %v", testAnycast, err)
}
cfg, err := ncc.BGPConfig()
if err != nil {
log.Fatal("Failed to get BGP configuration")
}
found := false
ns := fmt.Sprintf(" network %v/32", testAnycast)
for _, l := range cfg {
if l == ns {
found = true
break
}
}
if !found {
log.Fatal("Failed to find network statement")
}
if err := ncc.BGPWithdrawVIP(testAnycast); err != nil {
log.Fatalf("Failed to withdraw VIP %v: %v", testAnycast, err)
}
}