A downstream packet sending and forwarding method, comprising: configuring by a downstream packet sending device, a downstream forwarding path of a downstream packet for a terminal device; generating a source MAC address based on the downstream forwarding path, wherein the source MAC address is used to indicate the downstream forwarding path; and sending the downstream packet to a downstream packet forwarding device wherein the downstream packet comprises the source MAC address, the method further comprising: receiving by the downstream packet forwarding device, the downstream packet sent by the downstream packet sending device, wherein the downstream packet comprises the source MAC address, and the source MAC address is used to indicate the downstream forwarding path of the downstream packet; determining, based on the source MAC address, an egress port corresponding to the downstream packet; and sending the downstream packet through the egress port, wherein after the determining, based on the source MAC address, an egress port corresponding to the downstream packet, the method further comprises: setting a bit to zero wherein the bit is in the source MAC address and that is used to represent the egress port, wherein the determining, based on the source MAC address, an egress port corresponding to the downstream packet comprises: searching for a non-zero byte starting from the least significant byte to a higher-order byte of the source MAC address, and using, as the egress port, an egress port indicated by a value of the first non-zero byte. configuring by a downstream packet sending device, a downstream forwarding path of a downstream packet for a terminal device; generating a source MAC address based on the downstream forwarding path, wherein the source MAC address is used to indicate the downstream forwarding path; and sending the downstream packet to a downstream packet forwarding device wherein the downstream packet comprises the source MAC address, the method further comprising: receiving by the downstream packet forwarding device, the downstream packet sent by the downstream packet sending device, wherein the downstream packet comprises the source MAC address, and the source MAC address is used to indicate the downstream forwarding path of the downstream packet; determining, based on the source MAC address, an egress port corresponding to the downstream packet; and sending the downstream packet through the egress port, wherein after the determining, based on the source MAC address, an egress port corresponding to the downstream packet, the method further comprises: setting a bit to zero wherein the bit is in the source MAC address and that is used to represent the egress port, wherein the determining, based on the source MAC address, an egress port corresponding to the downstream packet comprises: searching for a non-zero byte starting from the least significant byte to a higher-order byte of the source MAC address, and using, as the egress port, an egress port indicated by a value of the first non-zero byte. receiving by the downstream packet forwarding device, the downstream packet sent by the downstream packet sending device, wherein the downstream packet comprises the source MAC address, and the source MAC address is used to indicate the downstream forwarding path of the downstream packet; determining, based on the source MAC address, an egress port corresponding to the downstream packet; and sending the downstream packet through the egress port, wherein after the determining, based on the source MAC address, an egress port corresponding to the downstream packet, the method further comprises: setting a bit to zero wherein the bit is in the source MAC address and that is used to represent the egress port, wherein the determining, based on the source MAC address, an egress port corresponding to the downstream packet comprises: searching for a non-zero byte starting from the least significant byte to a higher-order byte of the source MAC address, and using, as the egress port, an egress port indicated by a value of the first non-zero byte.