A computer program product for steering data communications packets through a link-level data communications switch for transparent, bump-in-the-wire processing among multiple data processing applications, the computer program product disposed in a recordable, computer-readable medium,
- the switch comprising a data communications processor operatively coupled to a plurality of data communications ports, a first one of the ports connected to a first data communications network and a second one of the ports connected to a second data communications network, two or more additional ports connected to the data processing applications, each port capable of functioning as an ingress port or an egress port for data communications among the networks and the applications, each application associated with a unique, link-level identifier;
- the switch further comprising data storage operatively coupled to the processor, the data storage having stored within it rules governing the steering of data communications among the ports of the switch, each rule comprising an association of an ingress port and an egress port;
- the computer program instructions, when executed by the data communications processor, capable of causing the switch to carry out the steps of:
- receiving in the switch through an ingress port from the first network data communications packets directed to the second network, each packet containing a source network address that identifies the source of the packet in the first network and a destination network address that identifies the destination of the packet in the second network;
- and
- steering by the switch each packet among the applications and through an egress port to the second network, such steering carried out only in accordance with the rules, using neither the source network address of the packet, the destination network address of the packet, nor the link-level identifier of any application.