summaryrefslogtreecommitdiffhomepage
path: root/config
AgeCommit message (Collapse)Author
2018-07-07follow Standard Go Project LayoutFUJITA Tomonori
https://github.com/golang-standards/project-layout Now you can see clearly what are private and public library code. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-06Fixing all megacheck errors.FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2018-07-06config: Copy afi-safi objects from peer group to neighbor instead of share ↵wanghonghao
the same array
2018-06-22fixing some typos and found one conversion bugJeff Bean
2018-06-22Fixing all megacheck errors.Jeff Bean
2018-06-13config: Change "RedistributeRouteTypeList" to []stringSatoshi Fujimoto
RedistributeRouteTypeList is []InstallProtocolType, but InstallProtocolType only defines limited number of protocols, And currently, EnableZebra() in gRPC API validates its request with the protocols defined by InstallProtocolType, so the protocols such as "babel" or "lldp" could not be configured to Zebra, via gRPC API. This patch fixes RedistributeRouteTypeList to be []string, and fixes EnableZebra() to validate with the protocols defined in zapi.go. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-06-05config: Improve golint resultsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-06-05config: Accept CLUSTER_ID as an integer valueIWASE Yusuke
Currently, only IPv4 address is acceptable for the CLUSTER_ID setting, this patch enables to specify the CLUSTER_ID as a 32-bit unsigned integer. With this expansion, "Config.RouteReflectorClusterId" stores the raw configured value for the CLUSTER_ID and "State.RouteReflectorClusterId" stores the value used for construct the CLUSTER_LIST attribute. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-05-24server/server: Restart peers when capabilities are changedSatoshi Fujimoto
If capabilities are added or removed by updating peer configs, it is needed to resend Open Message contains the new capabilities. But currently, GoBGP does not resend Open Message for Add-Path and Graceful Restart capabilities. This commit fixes it to resend Open Message for them. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2018-05-10config: Enable to configure VRF via config fileIWASE Yusuke
This patch enables to configure VRF tables by using config file. This feature is useful when using VRF-Neighbor feature. Example of Usage: ```toml [[vrfs]] [vrfs.config] name = "vrf1" id = 1 rd = "65000:100" both-rt-list = ["65000:100"] ``` Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-02-16config/default: Default value of route-reflector-cluster-idIWASE Yusuke
Currently "0.0.0.0" is the default of "route-reflector-cluster-id" and this patch fixes to use "router-id" as its default value. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-02-08config: Option to disable best path selectionIWASE Yusuke
Note: When this option is specified, no path will be redistributed to any peer, because there is no best path. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2018-01-24*: Use strconv.ParseUint instead of strconv.Atoi()IWASE Yusuke
For the 32-bit platform compatibility. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-12-16config: Move some functions to util.goSatoshi Fujimoto
default.go and serve.go has some functions which are not directly related to its main role. This commit moves those functions to util.go, a more suitable place. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-12-16config/util: Refactor to make arguments to receiversSatoshi Fujimoto
For code readability, this commit make some arguments to receivers. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-12-16table/policy: Support prefix representation in NeighborSetSatoshi Fujimoto
Currently, "neighbor-set" supports only IP address representation and IP prefix representation(such as "192.168.0.0/24") is not supported. This commit enables to accept the prefix representation for "neighbor-set" to allow neighbors to be specified as range. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-24config: allow unconfigured peer ASNFUJITA Tomonori
The commit ab953211 prohibits the unconfigured peer ASN but it breaks the unnumbered BGP feature. The old behavior needs to be reverted. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-11-08config: Properly set config of PeerGroup memberSatoshi Fujimoto
Currently, the config of PeerGroup members are not set properly. For example, if LocalAs of the neighbor is not set in the config file, LocalAs will be set to Global.As as a default value. After this, however, if the neighbor is a member of a peer group, LocalAs will be unexpectedly overwritten by the peer group config. This commit fixes this by setting default values after applying the peer group config. Adding to this, this commit avoids unnecessary applying the peer group config. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07*: Support BGP Confederations (RFC 5065)Satoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07packet/bgp: Add Validation for BGP ConfederationsSatoshi Fujimoto
RFC 5065 says that: "It is a error for a BGP speaker to receive an update message from a confederation peer that is not in the same Member-AS that does not have AS_CONFED_SEQUENCE as the first segment." Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07config: Pass Global Config to SetDefaultNeighborConfigSatoshi Fujimoto
In neighbor config, there are some parameters whose default value can be changed depending on the global config. This commit modifies the argument of config.SetDefaultNeighborConfigValues() to pass the global config. It enables to change the default settings of neighbor depending on the global config. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-07*: Fix problems pointed by 'go vet'Satoshi Fujimoto
In the near feature (likely in Go1.10), 'go test' will never work if 'go vet' fails. (See: https://github.com/golang/go/issues/18084) This commit is for dealing with such a situation (and also for improving the quality of our code). Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-11-02zclient: Enable to connect to FRRoutingIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03mrt: Enable to dump MRT with Path IdentifierIWASE Yusuke
This patch enables to dump updates and table in MRT format with Path Identifier. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-10-03config/default: Set treat-as-withdraw to true as defaultSatoshi Fujimoto
RFC7606 updates some other RFC and says that BGP speakers should not send NOTIFICATION for some errors in received UPDATE. Thus, treat-as-withdraw should be true as a default value. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-10-03config: add-paths structure per AFI-SAFIIWASE Yusuke
This patch introduce "add-paths" structure per AFI-SAFI in order to enable to store add-paths feature config/state per AFI-SAFI. Also, this patch renames a few variables to avoid the name collisions. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-14config: Introduce Family field into AfiSafiStateIWASE Yusuke
To reduce the translations of "AfiSafiName" into "bgp.RouteFamily", this patch introduces "Family" field into "AfiSafiState" and stores the translated value. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-09-11config: Default TTL for ebgp-multihop and ttl-securityIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-24Fix incorrect default value of BMPMonitoringPolicyEiichiro Watanabe
2017-08-08config/default: Validation for "afi-safi-name"IWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-08config/default: Avoid setting doubly defaults of neighborIWASE Yusuke
Currently, the function for setting the default values for neighbors will called doubly when the neighbor config was added via local config files (called by "config/serve.go" and AddNeighbor() in "server/server.go"). This patch enables to detect the duplicated call of this function and avoid setting the unexpected default values. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-08-08config/default: Fix unfilled "neighbors.afi-safis.config.enabled"IWASE Yusuke
Currently, if "neighbors.afi-safis.config.enabled" is omitted, this field will not initialised as expected when GoBGPd reads config file, but will initialised when AddNeighbor API is called. This cause the miss comparison whether reloaded neighbor config is updated or not (always determined updated). This patch fixes the condition more strictly and solves this problem. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-26config: Insert descriptions extracted from yang filesIWASE Yusuke
This patch fixes pyang_plugins to insert the descriptions which extracted from yang files and helps to enrich the documentation (e.g., godoc). Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-26config: Use BmpServerConfig struct in BmpServerStateIWASE Yusuke
Currently, BmpServerState has empty structure and can not store any configration information. This patch fixes to use BmpServerConfig structure in BmpServerState to store the same information. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-24config/bgp_configs_test: Add test for config validationIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-13config/default: Reduce parsing CIDR stringIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-07-04support addpath recvISHIDA Wataru
2017-06-23config: TTL value for BGP packetsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-23config: Add parameters for TTL SecurityIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-20peer: Set NeighborAddress before initializing dynamic peersSatoshi Fujimoto
If State.NeighborAddress is not set, setting default configs for the dynamic peers will fail. This patch set State.NeighborAddress before setting default configs. And this patch avoids overwriting State.NeighborAddress if it is set. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-16server: Support Dynamic NeighborSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-16config: Option to enable Dynamic NeighborSatoshi Fujimoto
Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-16config: Use State to get NeighborAddress instead of ConfigSatoshi Fujimoto
By introducing dynamic neighbor feature, GoBGP can have dynamic neighbors, and corresponding Config.NeighboAddress can be empty. This patch sets State.NeighborAddress for all neighbors, and gets the neighbor's address from them. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-09config: Add counter for BMP statisticsIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-06-07replace github.com/Sirupsen/logrus with github.com/sirupsen/logrusFUJITA Tomonori
The usage of "github.com/sirupsen/logrus" is recommended. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2017-06-05*: Support Peer-Group ConfigurationSatoshi Fujimoto
This patch enables to create peer-groups, also supports dynamic configuration to peer-groups. Manually set fields in neighbor configs have priority over its peer-group's config, except some fields, like "peer-as", or "minimum-advertisement-interval" and so on. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-05config: Initialize Graceful Restart StateSatoshi Fujimoto
Currently, the restarting speaker ends restarting procedure before receiving End-of-Rib markers from all helper speakers. It is because `MpGracefulRestart.State.Enabled` is not initialized, always evalueted to false, so the restarting speaker misunderstands as there is not helper speaker. This patch adds code to initialize `MpGracefulRestart.State.Enabled`. This fixes #1296. Signed-off-by: Satoshi Fujimoto <satoshi.fujimoto7@gmail.com>
2017-06-03config: Option to enable BMP Route MirroringIWASE Yusuke
Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-22server/peer: Number of filtered routes to advertiseIWASE Yusuke
This patch extend the "AdjTable" container to store the number of the "filtered" routes which should not be advertised to the given neighbor. This routes mean the filterd routes because of RTC, VRFs, policy and other constraints. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>
2017-05-22config: Add interval seconds for BMP stats reportsIWASE Yusuke
This patch suppose the default interval of the BMP stats reports is 0 which disable this feature and the range of this interval is 15 though 65535 seconds to follow Junos OS configuration. Signed-off-by: IWASE Yusuke <iwase.yusuke0@gmail.com>