summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorEiichiro Watanabe <a16tochjp@gmail.com>2018-11-12 14:41:58 +0900
committerEiichiro Watanabe <a16tochjp@gmail.com>2018-11-12 14:41:58 +0900
commit4cc7a81e8f5ae3c6584f26a1d9300e0522fdab7d (patch)
treed2a2061bff92c0c89f1d10c140b9175c0ab47196
parent99556f9cfc2df561dcf7d91c147a129449635224 (diff)
Support AdminDown from config
-rw-r--r--api/gobgp.pb.go1
-rw-r--r--api/gobgp.proto1
-rw-r--r--internal/pkg/config/util.go1
-rw-r--r--pkg/server/grpc_server.go1
4 files changed, 4 insertions, 0 deletions
diff --git a/api/gobgp.pb.go b/api/gobgp.pb.go
index e2caba93..bb41655a 100644
--- a/api/gobgp.pb.go
+++ b/api/gobgp.pb.go
@@ -2958,6 +2958,7 @@ type PeerConf struct {
Vrf string `protobuf:"bytes,15,opt,name=vrf" json:"vrf,omitempty"`
AllowOwnAs uint32 `protobuf:"varint,16,opt,name=allow_own_as,json=allowOwnAs" json:"allow_own_as,omitempty"`
ReplacePeerAs bool `protobuf:"varint,17,opt,name=replace_peer_as,json=replacePeerAs" json:"replace_peer_as,omitempty"`
+ AdminDown bool `protobuf:"varint,18,opt,name=admin_down,json=adminDown" json:"admin_down,omitempty"`
}
func (m *PeerConf) Reset() { *m = PeerConf{} }
diff --git a/api/gobgp.proto b/api/gobgp.proto
index a33e92d1..2b8e8e4a 100644
--- a/api/gobgp.proto
+++ b/api/gobgp.proto
@@ -622,6 +622,7 @@ message PeerConf {
string vrf = 15;
uint32 allow_own_as = 16;
bool replace_peer_as = 17;
+ bool admin_down = 18;
}
message PeerGroupConf {
diff --git a/internal/pkg/config/util.go b/internal/pkg/config/util.go
index ed9d3049..70fc8cd9 100644
--- a/internal/pkg/config/util.go
+++ b/internal/pkg/config/util.go
@@ -456,6 +456,7 @@ func NewPeerFromConfigStruct(pconf *Neighbor) *api.Peer {
AllowOwnAs: uint32(pconf.AsPathOptions.Config.AllowOwnAs),
RemovePrivateAs: removePrivateAs,
ReplacePeerAs: pconf.AsPathOptions.Config.ReplacePeerAs,
+ AdminDown: pconf.Config.AdminDown,
},
State: &api.PeerState{
SessionState: api.PeerState_SessionState(api.PeerState_SessionState_value[strings.ToUpper(string(s.SessionState))]),
diff --git a/pkg/server/grpc_server.go b/pkg/server/grpc_server.go
index 0aac4cf0..a0aef07a 100644
--- a/pkg/server/grpc_server.go
+++ b/pkg/server/grpc_server.go
@@ -565,6 +565,7 @@ func newNeighborFromAPIStruct(a *api.Peer) (*config.Neighbor, error) {
pconf.Config.PeerGroup = a.Conf.PeerGroup
pconf.Config.PeerType = config.IntToPeerTypeMap[int(a.Conf.PeerType)]
pconf.Config.NeighborAddress = a.Conf.NeighborAddress
+ pconf.Config.AdminDown = a.Conf.AdminDown
pconf.Config.NeighborInterface = a.Conf.NeighborInterface
pconf.Config.Vrf = a.Conf.Vrf
pconf.AsPathOptions.Config.AllowOwnAs = uint8(a.Conf.AllowOwnAs)