Traffic Engineering with Segment Routing: SDN-Based Architectural Design and Open Source Implementation