| 212 | } |
| 213 | |
| 214 | func (s *BgpServer) Stop() { |
| 215 | if err := s.StopBgp(context.Background(), &api.StopBgpRequest{}); err != nil { |
| 216 | s.logger.Error("failed to stop BGP server", |
| 217 | slog.String("Topic", "BgpServer"), |
| 218 | slog.Any("Error", err), |
| 219 | ) |
| 220 | } |
| 221 | |
| 222 | if s.bfdServer != nil { |
| 223 | s.bfdServer.Stop() |
| 224 | } |
| 225 | |
| 226 | if s.apiServer != nil { |
| 227 | s.apiServer.grpcServer.Stop() |
| 228 | } |
| 229 | } |
| 230 | |
| 231 | func (s *BgpServer) listListeners(addr string) []*net.TCPListener { |
| 232 | list := make([]*net.TCPListener, 0, len(s.listeners)) |