Abstract:
A technique includes determining a first set of intra-node port weights for a first switch of a first routing node, determining a set of inter-node port weights including a first inter-node port weight for routing traffic to a second routing node, determining a first inter-node weighted port group for the first switch for traffic directed to the second routing node, the first inter-node weighted port group including a first total port weight based on a first intra-node port weight and the first inter-node port weight and which is applied to a first port of the first switch, and a second total port weight based on a second intra-node port weight and the first inter-node port weight and which is applied to the second port of the first switch, and routing traffic to an output port of the first switch based on the first inter-node weighted port group.
Abstract:
Methods and systems for generating a forwarding table for a packet switch. The system includes a route manager for the packet switch, configured to identify a plurality of multi-path groups each corresponding to a respective initial set of routing entries in the forwarding table and generate, for one or more multi-path groups, at least one replacement set of routing entries with fewer routing entries than the initial set corresponding to the respective multi-path group. The route manager selects, based on a traffic reduction cost metric, one or more of the replacement sets of routing entries, each corresponding to a different respective multi-path group, and updates the forwarding table with the selected replacement sets. In some implementations, the traffic reduction cost metric includes a traffic characteristic. In some implementations, the packet switch participates in a software-defined network (SDN) and the route manager is part of an SDN controller.
Abstract:
A method for weighted routing of data traffic can include generating a first hash value based on a header of a data packet and performing a lookup in a first ECMP table using the first hash value to select a secondary ECMP table from at least two secondary un-weighted ECMP tables, the first ECMP table including a weighted listing of the at least two secondary un-weighted ECMP tables. The method can also include generating a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch and forwarding the data packet on the selected egress port.
Abstract:
A method for weighted routing of data traffic can include generating a first hash value based on a header of a data packet and performing a lookup in a first equal cost multi-path (ECMP) table using the first hash value to select a secondary ECMP table. The first ECMP table can include a weighted listing of at least two secondary ECMP tables. The method can further include generating a second hash value based on the header of the data packet and performing a lookup in the selected secondary ECMP table based on the second hash value to select an egress port of a plurality of egress ports of the data switch. The method can further include forwarding the data packet on the selected egress port.
Abstract:
System and methods for efficiently distributing data packets in a multi-path network having a plurality of equal cost paths each having the same number of hops are provided. In one aspect, a system and method includes reordering the entries in the routing table of one or more peer routing devices, such that succeeding equal cost next hop routing devices that are interconnected in a Clos formation to the peer routing devices received unbiased traffic from each of the peer routing devices, thus enabling the succeeding next hop routing devices to distribute data traffic evenly over additional equal cost multiple hops further into the network.
Abstract:
Methods and systems for generating a forwarding table for a packet switch. The system includes a route manager for the packet switch, configured to identify a plurality of multi-path groups each corresponding to a respective initial set of routing entries in the forwarding table and generate, for one or more multi-path groups, at least one replacement set of routing entries with fewer routing entries than the initial set corresponding to the respective multi-path group. The route manager selects, based on a traffic reduction cost metric, one or more of the replacement sets of routing entries, each corresponding to a different respective multi-path group, and updates the forwarding table with the selected replacement sets. In some implementations, the traffic reduction cost metric includes a traffic characteristic. In some implementations, the packet switch participates in a software-defined network (SDN) and the route manager is part of an SDN controller.
Abstract:
Systems and techniques for forwarding a data packet between network components in a virtualized network system are presented. Virtual machines in each virtual network in the virtualized network system are mapped to a unique routing table. Internet protocol (IP) addresses of virtual machines in a virtual network can overlap with IP addresses of virtual machines in another virtual network. A data packet is associated with a particular virtual network based on a tag stored in the data packet. As such, the data packet is forwarded based on a particular routing table associated with the particular virtual network. Additionally, routing domain information can be encoded into an outer source IP field of the data packet at the beginning of an IP tunnel. Furthermore, the routing domain information in the outer source IP field can be used to forward the data packet at the end of the IP tunnel.
Abstract:
Techniques for multi-path routing of packets to a destination node based on multiple routing tables of a router device. In an embodiment, a router device includes port groups which each correspond to a different respective network path to the same destination node. In another embodiment, each routing engine of multiple routing engines in a router device routes packets to the destination node based on a different respective one of multiple routing tables. The routing tables may include respective entry sets which, at least with respect to routing packets to the destination node, dedicate each routing engine to a respective one of the port groups.
Abstract:
Aspects and implementations of the present disclosure generally relate to use of a multi-chassis link aggregation for high performance and resilience in wide-area networking. In one aspect, the disclosure relates to a system that includes a switch fabric. The fabric includes at least a plurality of edge network devices, a set of internal switch devices, and a plurality of internal network links coupling each edge network device to at least a subset of the set of internal switch devices. The system includes a network controller coupled to the switch fabric, configured to maintain at least one link aggregation comprising a logical grouping of externally facing network interfaces of at least two of the plurality of edge devices. The network controller is configured to monitor internal link performance characteristics and determine throughput characteristics for each link aggregation over time based at least in part on current internal link performance characteristics.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for semi-centralized routing. In one aspect, a computer-implemented method receives a network protocol packet at a router adapted for routing data packets to one or more additional routers. The network protocol packet conforms to a routing protocol that provides distributed routing computation. The method also sends the network protocol packet, through a controller, to a selected one of a plurality of route control servers. The method also processes the network control packet at the selected route control server to generate a routing computation result that conforms to the routing protocol. The method also generates routing information based on the routing computation. The routing information conforms to a control protocol that provides centralized routing computation. The method also sends the routing information to the router for routing of data packets based on the control protocol.