A network device, comprising: one or more processors; and a non-transitory computer readable medium connected to the one or more processor and having stored thereon instructions that, when executed by the one or more processors, cause the network device to: receive a packet at a virtual switch integration bridge (410, 510) from a service function, SF (402, 502), that is in a service function chain, SFC, and that is on a first subnetwork (406, 506); determine a next SF (404, 504) in the SFC, wherein the next SF is on a second subnetwork (408, 508); change a destination media access control, MAC, address of the packet to a MAC address of the next SF, and a virtual network identifier, VNI, of the first subnetwork in the packet to a VNI of the second subnetwork; send the changed packet directly from the virtual switch integration bridge to the next SF; track ports connected to the virtual switch integration bridge; and add a switch rule to the virtual switch integration bridge, the switch rule instructing the virtual switch integration bridge to steer the changed packet from an egress port of the SF to an ingress port of the next SF, wherein the switch rule is further used to instruct the virtual switch integration bridge to change a source MAC address of the packet to a MAC address of an interface of a virtual router on the second subnetwork. one or more processors; and a non-transitory computer readable medium connected to the one or more processor and having stored thereon instructions that, when executed by the one or more processors, cause the network device to: receive a packet at a virtual switch integration bridge (410, 510) from a service function, SF (402, 502), that is in a service function chain, SFC, and that is on a first subnetwork (406, 506); determine a next SF (404, 504) in the SFC, wherein the next SF is on a second subnetwork (408, 508); change a destination media access control, MAC, address of the packet to a MAC address of the next SF, and a virtual network identifier, VNI, of the first subnetwork in the packet to a VNI of the second subnetwork; send the changed packet directly from the virtual switch integration bridge to the next SF; track ports connected to the virtual switch integration bridge; and add a switch rule to the virtual switch integration bridge, the switch rule instructing the virtual switch integration bridge to steer the changed packet from an egress port of the SF to an ingress port of the next SF, wherein the switch rule is further used to instruct the virtual switch integration bridge to change a source MAC address of the packet to a MAC address of an interface of a virtual router on the second subnetwork. receive a packet at a virtual switch integration bridge (410, 510) from a service function, SF (402, 502), that is in a service function chain, SFC, and that is on a first subnetwork (406, 506); determine a next SF (404, 504) in the SFC, wherein the next SF is on a second subnetwork (408, 508); change a destination media access control, MAC, address of the packet to a MAC address of the next SF, and a virtual network identifier, VNI, of the first subnetwork in the packet to a VNI of the second subnetwork; send the changed packet directly from the virtual switch integration bridge to the next SF; track ports connected to the virtual switch integration bridge; and add a switch rule to the virtual switch integration bridge, the switch rule instructing the virtual switch integration bridge to steer the changed packet from an egress port of the SF to an ingress port of the next SF, wherein the switch rule is further used to instruct the virtual switch integration bridge to change a source MAC address of the packet to a MAC address of an interface of a virtual router on the second subnetwork.