-
- Downloads
Implement Netlink
With this commit i'm introducing the netlink protocol to read routes from the linux kernel routing table to the locRIB. This also adds the functionality to insert new routes to the linux kernel routing stack which where learned by other protocol (like e.g. BGP). This is done by the protocols/netlink/netlink.go object. The netlink.go file acts as an facade around the netlink_reader.go and netlink_writer.go. netlink_reader itself reads in a defined reding interval new routes from the kernel and propagates new routes to all subscribed clients. The netlink reader can also be filtered using the same filter-api as in adjRibIn/adjRibOut for BGP. To read new routes to the locRIB you have to register the locRIB to the netlink_reader using the ClientManager interface, just like you would register the locRIB to the adjRibIn. netlink_writer must be subscribed to the locRIB in order to write the routes from locRIB into the kernel. This useses the ClientManager interface, just like you would register the adjRibOut to the locRIB. netlink_writer itself currently does not support filters, since all routes form the locRIB should be written to the kernel. The filter functionality could be easily added here as well. The netlink_writer currently does not support ecmp. This is subject of an other commit. The current implementation could be considered as work in progress, but the code is mature enough to start a review on it.
Showing
- vendor/github.com/golang/dep/gps/internal/pb/source_cache.proto 0 additions, 36 deletions.../github.com/golang/dep/gps/internal/pb/source_cache.proto
- vendor/github.com/golang/dep/gps/lock.go 0 additions, 235 deletionsvendor/github.com/golang/dep/gps/lock.go
- vendor/github.com/golang/dep/gps/lockdiff.go 0 additions, 245 deletionsvendor/github.com/golang/dep/gps/lockdiff.go
- vendor/github.com/golang/dep/gps/manifest.go 0 additions, 155 deletionsvendor/github.com/golang/dep/gps/manifest.go
- vendor/github.com/golang/dep/gps/maybe_source.go 0 additions, 262 deletionsvendor/github.com/golang/dep/gps/maybe_source.go
- vendor/github.com/golang/dep/gps/metrics.go 0 additions, 84 deletionsvendor/github.com/golang/dep/gps/metrics.go
- vendor/github.com/golang/dep/gps/paths/paths.go 0 additions, 21 deletionsvendor/github.com/golang/dep/gps/paths/paths.go
- vendor/github.com/golang/dep/gps/pkgtree/BUILD.bazel 0 additions, 19 deletionsvendor/github.com/golang/dep/gps/pkgtree/BUILD.bazel
- vendor/github.com/golang/dep/gps/pkgtree/digest.go 0 additions, 472 deletionsvendor/github.com/golang/dep/gps/pkgtree/digest.go
- vendor/github.com/golang/dep/gps/pkgtree/dirwalk.go 0 additions, 139 deletionsvendor/github.com/golang/dep/gps/pkgtree/dirwalk.go
- vendor/github.com/golang/dep/gps/pkgtree/ignored_ruleset.go 0 additions, 111 deletionsvendor/github.com/golang/dep/gps/pkgtree/ignored_ruleset.go
- vendor/github.com/golang/dep/gps/pkgtree/pkgtree.go 0 additions, 1108 deletionsvendor/github.com/golang/dep/gps/pkgtree/pkgtree.go
- vendor/github.com/golang/dep/gps/pkgtree/reachmap.go 0 additions, 65 deletionsvendor/github.com/golang/dep/gps/pkgtree/reachmap.go
- vendor/github.com/golang/dep/gps/prune.go 0 additions, 382 deletionsvendor/github.com/golang/dep/gps/prune.go
- vendor/github.com/golang/dep/gps/rootdata.go 0 additions, 204 deletionsvendor/github.com/golang/dep/gps/rootdata.go
- vendor/github.com/golang/dep/gps/satisfy.go 0 additions, 337 deletionsvendor/github.com/golang/dep/gps/satisfy.go
- vendor/github.com/golang/dep/gps/selection.go 0 additions, 242 deletionsvendor/github.com/golang/dep/gps/selection.go
- vendor/github.com/golang/dep/gps/solution.go 0 additions, 159 deletionsvendor/github.com/golang/dep/gps/solution.go
- vendor/github.com/golang/dep/gps/solve_failures.go 0 additions, 572 deletionsvendor/github.com/golang/dep/gps/solve_failures.go
- vendor/github.com/golang/dep/gps/solver.go 0 additions, 1421 deletionsvendor/github.com/golang/dep/gps/solver.go
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment