NETWORK DEVICE WITH NETWORK SERVICES PACKET PROCESSING BY SERVICE SOFTWARE INSTANCES
Virtual machine environments are provided in the switches that form a network, with the virtual machines executing network services previously performed by dedicated appliances. The virtual machines can be executed on a single multi-core processor in combination with normal switch functions or on dedicated services processor boards. Packet processors analyze incoming packets and add a services tag containing services entries to any packets. Each switch reviews the services tag and performs any network services resident on that switch. This allows services to be deployed at the optimal locations in the network. The network services may be deployed by use of drag and drop operations. A topology view is presented, along with network services that may be deployed. Services may be selected and dragged to a single switch or multiple switches. The management tool deploys the network services software, with virtual machines being instantiated on the switches as needed.
1 . A network device comprising:
at least one processor core and associated memory; and
at least one service software instance executing on said at least one processor core and stored in said associated memory, said at least one service software instance performing a network service on a received packet, the received packet containing a services tag indicating network services to be performed on the received packet,
wherein said at least one service software instance providing network services updates the services tag in the received packet after performing said at least one service software instance's operations to indicate completion of operation by said at least one service software instance.
2 . The network device of claim 1 , wherein said at least one service software instance is a plurality of service software instances performing different network services and multiple of said plurality of service software instances are providing network services related to the received packet,
wherein each of said multiple of said plurality of service software instances performs each of said multiple of said plurality of service software instances' operations prior to the received packet leaving the network device, and
wherein each of said multiple of said plurality of service software instances updates the services tag in the received packet after performing said service software instance's operations to indicate completion of operation by that service software instance.
3 . The network device of claim 1 , wherein the network device receives instructions to perform an additional network service, and
wherein an additional service software instance is instantiated to perform said additional network service.
4 . The network device of claim 1 , wherein said services tag includes:
a service tag identifier; and
at least one service entry, each services entry including:
a type of service indication; and
a service level indication.
5 . A method of operating a network device, the method comprising:
executing at least one software service instance on at least one processor core, said at least one service software instance performing a network service on a received packet, the received packet containing a services tag indicating network services to be performed on the received packet; and
updating, by said at least one service software instance performing network services, the services tag in the received packet after performing said at least one service software instance's operations to indicate completion of operation by said at least one service software instance.
6 . The method of claim 5 ,
wherein said at least one service software instance is a plurality of service software instances performing different network services and multiple of said plurality of service software instance are performing network services related to the received packet,
wherein each of said multiple of said plurality of service software instances performs each of said multiple of said plurality of service software instances' operations prior to the received packet leaving the network device, and
wherein each of said multiple of said plurality of service software instances updates the services tag in the received packet after performing said service software instance's operations to indicate completion of operation by that service software instance.
7 . The method of claim 5 , further comprising:
receiving instructions to perform an additional network service, and
wherein an additional service software instance is instantiated to perform said additional network service.
8 . The method of claim 5 , wherein said services tag includes:
a service tag identifier; and
at least one service entry, each services entry including:
a type of service indication; and
a service level indication.