1. A processor implemented method for determining traffic flow availability, the method comprising: receiving by a processor an indication of a physical topology comprising a plurality of physical links, a logical topology comprising a plurality of logical links between a plurality of nodes, and a plurality of traffic flow demands; receiving an indication of an average failure probability for each of the plurality of physical links; receiving a cross-layer network model that maps the logical topology to the physical topology; iteratively, for a predetermined number of cycles: generating a failure sample, responsive to the indication of the average failure probability, indicating a failure of a plurality of physical links in the physical topology; updating the logical topology model responsive to the failure of the plurality of physical links in the failure sample and the cross-layer network model, wherein updating the logical topology model comprises calculating a capacity degradation for each of the plurality of logical links responsive to the failure sample; and determining, with a traffic engineering simulator, if the updated logical topology model is capable of satisfying the plurality of traffic flow demands; calculating an average availability for a fraction of a flow demand from the plurality of traffic flow demands; and outputting the calculated average flow availabilities.