Support more advanced routing decisions
- Dominant language
- Go
- Stars
- 19.3k
- Forks
- 2k
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 264
Description
The current routing table an array of `tcpip.Route` is basic and supports simple use cases.
```
// Route is a row in the routing table. It specifies through which NIC (and
// gateway) sets of packets should be routed. A row is considered viable if the
// masked target address matches the destination address in the row.
type Route struct {
// Destination must contain the target address for this row to be viable.
Destination Subnet
// Gateway is the gateway to be used if this row is viable.
Gateway Address
// NIC is the id of the nic to be used if this row is viable.
NIC NICID
}
```
More advanced use cases such as what `ip route` supports can not be done with our current implementation. E.g., marking routes with MTUs or marking routesas unreachable, blackholes, prohibited, broadcast, local, onlink etc. More examples can be found in documentation for `ip route` (https://linux.die.net/man/8/ip).
Contributor guide
Assessment
This issue has not been assessed yet.