A method comprising: receiving, with a first router of a network, a link bandwidth for each of one or more network links (205A, 205B, 205C, 205D, 205E, 205F, 205G, 205H, 205I) of the network that are positioned between the first router and a second router of the network; selecting, with the first router, a plurality of forwarding paths (216A, 216B, 216C) from the first router to the second router that each satisfy a constraint; upon determining that one of the network links is shared by multiple of the plurality of forwarding paths, by the first router, computing an amount of bandwidth that can be sent on an outgoing interface of the first router to a neighbor node on the multiple forwarding paths that share the one of the network links, wherein computing the amount of bandwidth comprises accounting for splitting of the link bandwidth of the shared network link across the multiple forwarding paths that share the network link, and accounting for a downstream router that does not account for splitting of the link bandwidth for the shared network link across the multiple forwarding paths that share the network link when the downstream router computes an amount of bandwidth that can be sent on an outgoing interface of the downstream router, wherein the first router receives a capability advertisement from a downstream router, the capability advertisement indicating whether the downstream router has a capability to account for splitting of link bandwidth for a shared network link across the multiple forwarding paths that share the network link; selectively assigning, with the first router, packet flows (222A, 222B, 222C, 222D) to each of a plurality of outgoing interfaces of the first router based at least on the computed amount of bandwidth; receiving packets for the packet flows with the first router; and forwarding packets of each of the packets flows to the respective one of the plurality of outgoing interfaces to which the packet flow is assigned. receiving, with a first router of a network, a link bandwidth for each of one or more network links (205A, 205B, 205C, 205D, 205E, 205F, 205G, 205H, 205I) of the network that are positioned between the first router and a second router of the network; selecting, with the first router, a plurality of forwarding paths (216A, 216B, 216C) from the first router to the second router that each satisfy a constraint; upon determining that one of the network links is shared by multiple of the plurality of forwarding paths, by the first router, computing an amount of bandwidth that can be sent on an outgoing interface of the first router to a neighbor node on the multiple forwarding paths that share the one of the network links, wherein computing the amount of bandwidth comprises accounting for splitting of the link bandwidth of the shared network link across the multiple forwarding paths that share the network link, and accounting for a downstream router that does not account for splitting of the link bandwidth for the shared network link across the multiple forwarding paths that share the network link when the downstream router computes an amount of bandwidth that can be sent on an outgoing interface of the downstream router, wherein the first router receives a capability advertisement from a downstream router, the capability advertisement indicating whether the downstream router has a capability to account for splitting of link bandwidth for a shared network link across the multiple forwarding paths that share the network link; selectively assigning, with the first router, packet flows (222A, 222B, 222C, 222D) to each of a plurality of outgoing interfaces of the first router based at least on the computed amount of bandwidth; receiving packets for the packet flows with the first router; and forwarding packets of each of the packets flows to the respective one of the plurality of outgoing interfaces to which the packet flow is assigned.