  Although Software-Defined Networking (SDN) enables flexible network resource
allocations for traffic engineering, current literature mostly focuses on
unicast communications. Compared to traffic engineering for multiple unicast
flows, multicast traffic engineering for multiple trees is very challenging not
only because minimizing the bandwidth consumption of a single multicast tree by
solving the Steiner tree problem is already NP-Hard, but the Steiner tree
problem does not consider the link capacity constraint for multicast flows and
node capacity constraint to store the forwarding entries in Group Table of
OpenFlow. In this paper, therefore, we first study the hardness results of
scalable multicast traffic engineering in SDN. We prove that scalable multicast
traffic engineering with only the node capacity constraint is NP-Hard and not
approximable within, which is the number of destinations in the largest
multicast group. We then prove that scalable multicast traffic engineering with
both the node and link capacity constraints is NP-Hard and not approximable
within any ratio. To solve the problem, we design an approximation algorithm,
named Multi-Tree Routing and State Assignment Algorithm (MTRSA), for the first
case and extend it to the general multicast traffic engineering problem. The
simulation and implementation results demonstrate that the solutions obtained
by the proposed algorithm outperform the shortest-path trees and Steiner trees.
Most importantly, MTRSA is computation-efficient and can be deployed in SDN
since it can generate the solution with numerous trees in a short time.
