summaryrefslogtreecommitdiffhomepage
path: root/table/table_manager.go
AgeCommit message (Collapse)Author
2015-04-04table: change Path.clone to copy path attributes and make it publicISHIDA Wataru
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-04-04table: bug fix of ReceiveRoute String() methodISHIDA Wataru
use interface method Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
2015-03-24policy: add prefix filterNaoto Hanaue
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-21table: add EVPN route family supportYuji Oshima
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-20peer: don't send back routes to the source.ISHIDA Wataru
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-20server: add Global Rib to support normal BGP functionalityISHIDA Wataru
We handle Global Rib as a Peer. Normail (non route server client) peer has one sibling, Global Rib peer. Global Rib peer has all normal peers as siblings. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-19table: remove unnecessary distinction of pathsISHIDA Wataru
struct Path has a flag which can tell whether the path is withdrawal path or not. so table.ProcessPaths() needs not to return withdrawal path and non-withdrawal path separetly. this removes such unnecessary distinction. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-11table: IPv4_VPN route familyYuji Oshima
2015-03-10table: use github.com/tchap/go-patricia/patricia instead of our forkFUJITA Tomonori
The fix for sorting is merged: https://github.com/tchap/go-patricia/commit/f8d475d887c8f22feb1c7d6748f2864681be53b3 Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-08server: adj-in/out supports route families rather than v4/v6FUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-08server: support multiple route familes per peerFUJITA Tomonori
You can configure like the following: [Global] As = 65032 RouterId = "192.168.255.1" [[NeighborList]] NeighborAddress = "10.0.255.1" PeerAs = 65001 [NeighborList.RouteServer] RouteServerClient = true [[NeighborList.AfiSafiList]] AfiSafiName = "ipv4-unicast" [[NeighborList.AfiSafiList]] AfiSafiName = "ipv6-unicast" Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-06server: remove rf in ServerMsgFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-06table: NewTableManager takes route familiesFUJITA Tomonori
NewTableManager creates tables for only specified route families. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-03-06table: remove RF from PeerInfoFUJITA Tomonori
Cleanup for supporting multiple route families. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-02-24table: also sort adj-rib tables when marshaling as well as local-ribISHIDA Wataru
2015-01-28table: add owner to NewTableManager's argumentsHiroshi Yokoi
2015-01-28table: revise table logsHiroshi Yokoi
2015-01-23table: handle timestamp in Path in UpdateIn()FUJITA Tomonori
We update rib-in first and then local. So should handle timestamp before adding path to rib-in. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-23table: not update timestamp if the path replaces the same pathFUJITA Tomonori
If a new path has the exact same attributes that the existing one (after RouteRefresh), we don't update the timestamp. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-22table: remove timestamp in ReceivedRouteFUJITA Tomonori
Path has timestamp. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-22table: add timestamp to PathFUJITA Tomonori
Set timestamp at Path when update message for the path arrived. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-17cli: update show neighbors outputFUJITA Tomonori
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-09table: fix path's getPrex()FUJITA Tomonori
must use Prefix (address + mask) as key. Same as commit 900cb321fb3dc353b102aa1970e652184abc24eb Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2015-01-08server: drop all paths in adj-in when peer is downFUJITA 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-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-25packet: define BGPPathAttr typeFUJITA 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-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 CoreService, Neighbors, and Commons structuresFUJITA Tomonori
No need. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2014-12-08[bestpath_selection] fix bugs when handling withdraw routesHiroshi Yokoi
2014-12-05table: add initial codeHiroshi Yokoi
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>