A system for steering network traffic to service functions in a service function chain, the system comprising: a processor; a data storage module; an input interface; an output interface; an automatic rebalancing system configured to maintain operating status associated with each service function, wherein the operating status is determined by a health module; the health module configured to issue a series of health check packets to determine the operating status of at least one service function based on responses of the series of health check packets and wherein the operating status is updated after a predetermined threshold is met based on the responses from the series of health-check packets; a classifier (102, 206) configured to determine a path for a data packet in the service function chain; a forwarder configured to determine the next location to which the data packet will be sent based on the path, and to send the health check packets issued by the health module; and a load balancer (106, 210) configured to co-operate with the forwarder to distribute the data packet to a selected service function module when there are more than one of that service function module based on the operating status associated with each service function; wherein the automatic rebalancing system is configured to redistribute the service functions over the load balancer to distribute the network traffic among the available service functions based on a change in the operating status of at least one service function. a processor; a data storage module; an input interface; an output interface; an automatic rebalancing system configured to maintain operating status associated with each service function, wherein the operating status is determined by a health module; the health module configured to issue a series of health check packets to determine the operating status of at least one service function based on responses of the series of health check packets and wherein the operating status is updated after a predetermined threshold is met based on the responses from the series of health-check packets; a classifier (102, 206) configured to determine a path for a data packet in the service function chain; a forwarder configured to determine the next location to which the data packet will be sent based on the path, and to send the health check packets issued by the health module; and a load balancer (106, 210) configured to co-operate with the forwarder to distribute the data packet to a selected service function module when there are more than one of that service function module based on the operating status associated with each service function; wherein the automatic rebalancing system is configured to redistribute the service functions over the load balancer to distribute the network traffic among the available service functions based on a change in the operating status of at least one service function. the health module configured to issue a series of health check packets to determine the operating status of at least one service function based on responses of the series of health check packets and wherein the operating status is updated after a predetermined threshold is met based on the responses from the series of health-check packets; a classifier (102, 206) configured to determine a path for a data packet in the service function chain; a forwarder configured to determine the next location to which the data packet will be sent based on the path, and to send the health check packets issued by the health module; and a load balancer (106, 210) configured to co-operate with the forwarder to distribute the data packet to a selected service function module when there are more than one of that service function module based on the operating status associated with each service function; wherein the automatic rebalancing system is configured to redistribute the service functions over the load balancer to distribute the network traffic among the available service functions based on a change in the operating status of at least one service function.