mirror of
https://github.com/osrg/gobgp.git
synced 2024-05-11 05:55:10 +00:00
server: properly handle invalid policy config
Signed-off-by: ISHIDA Wataru <[email protected]>
This commit is contained in:
+3
-1
@@ -184,7 +184,9 @@ func main() {
|
||||
|
||||
if policyConfig == nil {
|
||||
policyConfig = &newConfig.Policy
|
||||
bgpServer.SetPolicy(newConfig.Policy)
|
||||
if err := bgpServer.SetPolicy(newConfig.Policy); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
} else {
|
||||
if config.CheckPolicyDifference(policyConfig, &newConfig.Policy) {
|
||||
log.Info("Policy config is updated")
|
||||
|
||||
+9
-3
@@ -884,7 +884,7 @@ func (server *BgpServer) SetPolicy(pl config.RoutingPolicy) error {
|
||||
if err != nil {
|
||||
log.WithFields(log.Fields{
|
||||
"Topic": "Policy",
|
||||
}).Debugf("failed to create routing policy: %s", err)
|
||||
}).Errorf("failed to create routing policy: %s", err)
|
||||
return err
|
||||
}
|
||||
server.policy = p
|
||||
@@ -894,8 +894,13 @@ func (server *BgpServer) SetPolicy(pl config.RoutingPolicy) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (server *BgpServer) handlePolicy(pl config.RoutingPolicy) {
|
||||
server.SetPolicy(pl)
|
||||
func (server *BgpServer) handlePolicy(pl config.RoutingPolicy) error {
|
||||
if err := server.SetPolicy(pl); err != nil {
|
||||
log.WithFields(log.Fields{
|
||||
"Topic": "Policy",
|
||||
}).Errorf("failed to set new policy: %s", err)
|
||||
return err
|
||||
}
|
||||
for _, peer := range server.neighborMap {
|
||||
log.WithFields(log.Fields{
|
||||
"Topic": "Peer",
|
||||
@@ -903,6 +908,7 @@ func (server *BgpServer) handlePolicy(pl config.RoutingPolicy) {
|
||||
}).Info("call set policy")
|
||||
server.setPolicyByConfig(peer, peer.conf.ApplyPolicy)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (server *BgpServer) checkNeighborRequest(grpcReq *GrpcRequest) (*Peer, error) {
|
||||
|
||||
Reference in New Issue
Block a user