summaryrefslogtreecommitdiffhomepage
path: root/table
AgeCommit message (Collapse)Author
2014-12-31table: use 4byte AS as internal data structureFUJITA Tomonori
Always use 4byte for AS internally. Convert AS for 2byte AS peer when necessary. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-30table: Path's getnlri, getpathattrs, getpathattr privateFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-30table: make path.Clone privateFUJITA Tomonori
table_manager.go clones withdraw path before passing it to peer.go clone() doesn't clone pathattributes. This patch adds a helper funciton to clone PathAttributes to message.go (it is used by createing BGPUpdate message to withdraw ipv6. later it will be used for 2 byte AS peer). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-30serve: move functions about path and bgp message to table/message.goFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-30table: add helper functions to modify PathAttributes for 4 and 2 byte AS.FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-30table: use Path as API instead of destinationFUJITA Tomonori
ProcessPaths and DeletePathsforPeer API uses both Path and Destination for outside. There is no good reason to use Destination. Let's use Path. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-27RouteFamily cleanupFUJITA Tomonori
RouteFamily is defined in two files. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-27support IPv6_UC route familyFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25table: update path struct JSON formatFUJITA Tomonori
Print all path attributes in a path. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25packet: define BGPPathAttr typeFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25table: make table json prettierFUJITA Tomonori
Even 'jq' command makes the output very nicer. $ curl http://localhost:8080/v1/bgp/neighbor/10.0.0.1/local-rib |jq '.' Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25table: add MarshalJSON to Destination and TableFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-25table: add MarshalJSON() to Path structFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-22clean up logger usageFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-22table: send withdraw when peer is downFUJITA Tomonori
When a peer becomes down, send withdraw for the best pathes of it. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-21table: sends updates from AdjRibOut when FSM_ESTABLISHEDFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-21server: update AdjRibOut tableFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-21server: conver PEER_MSG_PATH to bgp updateFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-21table: implement Clone() to copy pathattributes in Path structFUJITA Tomonori
In some cases, we need to modify pathattributes in Path and creates an update message based on it. Clone() is used to avoid chaning the pathattributes in the table. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-20table: use slice instead of homegrown orderedmapFUJITA Tomonori
- 4-bytes AS code needs add/delete a new path attribute at the exact place. - we would support actions to modify path attributes Unliley operations on path attributes would perfomance bottle neck so this commit changes the code to simply use slice to store path attributes in a path structure. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-20table: delete setRoutefamily method in pathFUJITA Tomonori
unlikely it's used. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-20table: export getNlri method in PathFUJITA Tomonori
peer codes need it. Also remove putNlri() because NLRI is unlikely changed after path creation because NLRI is used as sorta key value for path.
2014-12-18peer: support peer stateFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-18peer: update local ribFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-18server: update adjRibInFUJITA Tomonori
When we get a update message, update adjRibIn, and sends the path infomation to other peers. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-18table: use path to handle table updateFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-17table: move AdjRib out of TableManagerFUJITA Tomonori
No one-to-one relationship between AdjRib and localRib so move AdjRib out of TableManager. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-16table: remove temporary structuresFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-16table: remove sentroute stuffFUJITA Tomonori
It's not necessary for our first target (multi RIB route server). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-16table: remove CoreService, Neighbors, and Commons structuresFUJITA Tomonori
No need. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-08[bestpath_selection]: add testcase for table.goHiroshi Yokoi
2014-12-08[bestpath_selection] fix bugs when handling withdraw routesHiroshi Yokoi
2014-12-05[bestpath_selection] fix build errorHiroshi Yokoi
2014-12-05table: add initial codeHiroshi Yokoi
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>