summaryrefslogtreecommitdiffhomepage
path: root/api
AgeCommit message (Collapse)Author
2015-07-01cli: support med actionNaoto Hanaue
2015-07-01server/cli: support add/delete EVPN_INCLUSIVE_MULTICAST_ETHERNET_TAG routeISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-07-01cli: support distribute policyHiroshi Yokoi
2015-07-01bgp: add PMSI Tunnel Path Attribute(RFC6514) serializer/decoderISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-06-25server/api: add api to monitor changes of neighbor stateISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-06-25server/api: add api to monitor changes of best pathsISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-06-21api: change ModPath() return value to Error from stream ErrorISHIDA Wataru
cut useless grpc communication and improve performance simple performance test result. rib.20150617.2000 is taken from http://archive.routeviews.org/ [before] $ time gomrt -i rib.20150617.2000 gomrt -i /vagrant/rib.20150617.2000 45.96s user 171.73s system 86% cpu 4:11.87 total [after] $ time gomrt -i rib.20150617.2000 gomrt -i /vagrant/rib.20150617.2000 11.95s user 76.17s system 74% cpu 1:58.38 total Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-06-17cli: add community subcommand to policy conditions and actionsNaoto Hanaue
2015-06-16cli: add aspath subcommand to policy conditionsNaoto Hanaue
2015-06-16cli: aggregate grpc communication interface associated with the policy to ↵Naoto Hanaue
api.policyDefinition
2015-06-01cli: fix AS_PATH string formatHiroshi Yokoi
2015-05-26cli: add the add/del commands to policy of neighborNaoto Hanaue
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy DefaultImportPolicy: ACCEPT DefaultExportPolicy: ACCEPT ImportPolicies: PolicyName policy1: StatementName st0: Conditions: PrefixSet: ps2 192.168.20.0/24 NeighborSet: ns0 10.0.0.2 10.0.0.3 AsPathLength: eq 5 MatchOption: ALL Actions: ACCEPT ExportPolicies: % gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy add export policy0 reject % gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy del import % gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy DefaultImportPolicy: ACCEPT DefaultExportPolicy: REJECT ImportPolicies: ExportPolicies: PolicyName policy0: StatementName st0: Conditions: PrefixSet: ps0 192.168.0.0/16 16..24 NeighborSet: ns2 10.0.0.4 AsPathLength: MatchOption: ALL Actions: REJECT
2015-05-26cli: add the add/del commands to routepolicyNaoto Hanaue
% gobgp -u 10.0.255.1 policy routepolicy PolicyName policy0: StatementName st0: Conditions: PrefixSet: ps0 192.168.0.0/16 16..24 NeighborSet: ns2 10.0.0.4 AsPathLength: MatchOption: ALL Actions: REJECT % gobgp -u 10.0.255.1 policy routepolicy add policy1 st0 conditions --prefix ps2 --neighbor ns0 --aspath-len eq,5 --option all % gobgp -u 10.0.255.1 policy routepolicy add policy1 st0 actions --route-action accept % gobgp -u 10.0.255.1 policy routepolicy del policy0 % gobgp -u 10.0.255.1 policy routepolicy PolicyName policy1: StatementName st0: Conditions: PrefixSet: ps2 192.168.20.0/24 NeighborSet: ns0 10.0.0.2 10.0.0.3 AsPathLength: eq 5 MatchOption: ALL Actions: ACCEPT
2015-05-26cli: add the add/del commands to neighbor conditionNaoto Hanaue
% gobgp -u 10.0.255.1 policy neighbor Name Address ns0 10.0.0.2 10.0.0.3 ns1 2001::192:168:0:2 % gobgp -u 10.0.255.1 policy neighbor add ns2 10.0.0.4 % gobgp -u 10.0.255.1 policy neighbor del ns1 % gobgp -u 10.0.255.1 policy neighbor Name Address ns0 10.0.0.2 10.0.0.3 ns2 10.0.0.4
2015-05-19cli: update bash-completion for show commands of policyNaoto Hanaue
2015-05-19cli: support the AsPathLength to display in routing policyNaoto Hanaue
% gobgp -u 10.0.255.1 policy routepolicy policy0 PolicyName policy0: StatementName st0: Conditions: PrefixSet: ps0 192.168.0.0/16 16..24 NeighborSet: ns0 10.0.0.2 AsPathLength: 10 eq MatchOption: ALL Actions: REJECT
2015-05-19cli: add the show command for routing policy of neighborNaoto Hanaue
% gobgp -u 10.0.255.1 neighbor 10.0.0.3 policy DefaultImportPolicy: ACCEPT DefaultImportPolicy: ACCEPT ImportPolicies: PolicyName policy0: StatementName st0: Conditions: PrefixSet: ps0 192.168.0.0/16 16..24 NeighborSet: ns0 10.0.0.2 MatchOption: ALL Actions: REJECT PolicyName policy5: ExportPolicies: PolicyName policy1: StatementName st1: Conditions: PrefixSet: ps1 192.168.20.0/24 192.168.200.0/24 NeighborSet: ns0 10.0.0.2 MatchOption: ALL Actions: REJECT
2015-05-19cli: add the show command for the routing policyNaoto Hanaue
% gobgp -u 10.0.255.1 policy routepolicy PolicyName policy0: StatementName st0: Conditions: PrefixSet: ps0 192.168.0.0/16 16..24 NeighborSet: ns0 10.0.0.2 MatchOption: ALL Actions: REJECT PolicyName policy1: StatementName st1: Conditions: PrefixSet: ps1 192.168.20.0/24 192.168.200.0/24 NeighborSet: ns0 10.0.0.2 MatchOption: ALL Actions: REJECT % gobgp -u 10.0.255.1 policy routepolicy policy0 PolicyName policy0: StatementName st0: Conditions: PrefixSet: ps0 192.168.0.0/16 16..24 NeighborSet: ns0 10.0.0.2 MatchOption: ALL Actions: REJECT
2015-05-19cli: add the show command for the neighbor conditionsNaoto Hanaue
% gobgp -u 10.0.255.1 policy neighbor Name Address ns0 10.0.0.2 ns1 2001::192:168:0:2 % gobgp -u 10.0.255.1 policy neighbor ns0 Name Address ns0 10.0.0.2
2015-05-11cli: add the commands for the policy of the prefix operationNaoto Hanaue
[show] % gobgp -u 10.0.255.1 policy prefix Name Prefix MaskRange ps0 192.168.0.0/16 16..24 ps1 192.168.20.0/24 192.168.200.0/24 ps2 192.168.20.0/24 ps3 2001:0:10:2::/64 64..128 ps4 2001:0:10:20::/64 2001:0:10:200::/64 ps5 2001:0:10:20::/64 % gobgp -u 10.0.255.1 policy prefix ps1 Address/Mask MaskRange 192.168.20.0/24 192.168.200.0/24 [add] % gobgp -u 10.0.255.1 policy prefix add ps8 172.16.0.0/16 16..24 % gobgp -u 10.0.255.1 policy prefix add ps8 172.32.0.0/16 [del] % gobgp -u 10.0.255.1 policy prefix del ps2 192.168.20.0/24 % gobgp -u 10.0.255.1 policy prefix del ps3 % gobgp -u 10.0.255.1 policy prefix del all
2015-05-10api/gobgp: show multiprotocol capabilities in detailISHIDA Wataru
/home/vagrant% gobgp -u 192.168.10.4 neighbor 192.168.10.2 BGP neighbor is 192.168.10.2, remote AS 65001 BGP version 4, remote router ID 192.168.10.2 BGP state = BGP_FSM_ESTABLISHED, up for 00:12:57 BGP OutQ = 0, Flops = 0 Neighbor capabilities: MULTIPROTOCOL(IP,UNICAST): advertised MULTIPROTOCOL(L2VPN,EVPN): advertised MULTIPROTOCOL(IP,ENCAP): advertised MULTIPROTOCOL(IP,ROUTE_TARGET_CONSTRTAINS): received ROUTE_REFRESH: advertised FOUR_OCTET_AS_NUMBER: advertised and received Message statistics: Sent Rcvd Opens: 1 1 Notifications: 0 0 Updates: 0 0 Keepalives: 26 26 Route Refesh: 0 0 Discarded: 0 0 Total: 27 27 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-05-08cli: show configured and negotiated holdtime and keepalive intervalFUJITA Tomonori
fujita@ubuntu:~/git/gobgp/gobgp$ go run main.go neighbor 10.0.255.1 BGP neighbor is 10.0.255.1, remote AS 65001 BGP version 4, remote router ID 192.168.0.1 BGP state = BGP_FSM_ESTABLISHED, up for 00:11:55 BGP OutQ = 0, Flops = 0 Hold time is 30, keepalive interval is 10 seconds Configured hold time is 90, keepalive interval is 30 seconds Neighbor capabilities: MULTIPROTOCOL: advertised and received ROUTE_REFRESH: advertised and received FOUR_OCTET_AS_NUMBER: advertised and received ROUTE_REFRESH_CISCO: received Message statistics: Sent Rcvd Opens: 1 1 Notifications: 0 0 Updates: 1 1 Keepalives: 72 73 Route Refesh: 0 0 Discarded: 0 0 Total: 74 75 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-05-01api/packet: add extended community/rt nlri structure to apiISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-30api: regenerate gobgp.pb.go to adapt the latest grpc implementationSoramichi Akiyama
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-04-25table: add support for encapsulation nlriISHIDA Wataru
add encap end point route(10.0.0.1) with vni 20 $ gobgp global rib add 10.0.0.1 20 -a encap check it $ gobgp global rib -a encap Please specify one command of: add or del Network Next Hop AS_PATH Age Attrs *> 10.0.0.1 0.0.0.0 [64512] 00:00:01 [{Origin: IGP} {Encap: < VXLAN | color: 20 >}] Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-25bgp: add RFC5512 related message serializer/decoderISHIDA Wataru
RFC5512 is for tunnel information exchange between peers. This is used in EVPN/VXLAN usecase(draft-ietf-bess-evpn-overlay-01). Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-15api: add a method to convert internal structs to protobuf structsISHIDA Wataru
- add ToApiStruct() for convertion of internal structs to protobuf structs to avoid ugly convertion by json.Marshal() && json.Unmarshal() - move grpc server code under /server instead of /api - update proto file to include more detailed path information Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-14api: use gRPC instead of RESTISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-04api/server: add apis to add/delete routes to/from global ribISHIDA Wataru
add: curl -X POST -d prefix=10.0.0.0/24 http://localhost:8080/v1/bgp/global/ipv4 delete: curl -X DELETE -d prefix=10.0.0.0/24 http://localhost:8080/v1/bgp/global/ipv4 Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-04api: return error for invalid route family tableFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-21api: add EVPN route family supportYuji Oshima
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-20api/cli: add show global commandISHIDA Wataru
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-07rest: support show table with specified route familyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-07rest: clean up request handlingFUJITA Tomonori
merge duplicated functions and kill hacky strings Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-02-16rest: add API to disable and enable neighborHiroshi Yokoi
2015-01-19rest: support adj-rib-in/outHiroshi Yokoi
2015-01-16api: add reset and shutdown supportFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-07rest: specified HTTP methodHiroshi Yokoi
2015-01-07rest: add stats apiHiroshi Yokoi
2014-12-25rest: use []byte instead of interface{} for REST responseFUJITA Tomonori
Some Marshall method is not thread-safe. They can't be called by a goroutine for a REST client. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25rest: kill unused codeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25rest: kill RestResponse interfaceFUJITA Tomonori
We can use RestResponse struct for all request types. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25server: support /neighbors URLFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25rest: use interface{} for REST responseFUJITA Tomonori
Then rest.go can use an appropriate format. Likelly we support only JSON though. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25rest: specify content-typeHiroshi Yokoi
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25rest: support local-rib URLFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25api: fix REST API URL comments againFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25api: fix REST API coomentsFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-23packet: define FSMStateFUJITA Tomonori
Then we can use stringer nicely. Now FSMstate shows nicely like: DEBU[0081] Peer (10.0.0.1) state changed from BGP_FSM_ACTIVE to BGP_FSM_OPENSENT Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-23api: fix Neighbor() error handlingFUJITA Tomonori
Also fix some typos. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>