A controlling method, a controller and a packet processing method for a software-defined network (SDN) are provided. The controlling method includes the following steps: receiving a registration message from a user equipment (UE), wherein the registration message includes a network access status of the UE; selecting a switch of the SDN as an aggregation entity (AE) for the UE according to the network access status; calculating a plurality of routing paths between the UE and the AE, wherein each routing path is coupled to one of a plurality of network interfaces of the UE; and setting flow entries in the AE and each switch in the routing paths for routing packets between the UE and a remote network.