For a linear network code, the encoding profile is specified by, for every output channel of a node, the set of input channels whose symbols upon which the symbol on the output channel depends. For a given single-source network coding problem, it is of fundamental interest to characterize all feasible encoding profiles of a linear network code that achieves the max-flow min-cut bound. We obtain such a characterization through a refinement of the Jaggi-Sanders algorithm due to Barbero and Ytrehus. Our result imply that the design of linear network codes with various constraints and optimization objectives is equivalent to arranging the maximum flows from the source node to the sink nodes.