A packet processing method, wherein the method is applied to an Ethernet virtual private network-virtual private wire service, EVPN-VPWS, network, the EVPN-VPWS network comprises a first provider edge, PE, device, a second PE device, and a third PE device, and the method comprises: receiving, by the first PE device, a first virtual extensible local area network, VXLAN, packet through a first point-to-point virtual extensible local area network, P2P VXLAN, tunnel between the first PE device and the third PE device, wherein the first VXLAN packet is a VXLAN packet sent by the third PE device to a customer edge, CE, device via the first P2P VXLAN tunnel, the first PE device, and a first Ethernet link, the CE device is dual-homed to the first PE device and the second PE device respectively through the first Ethernet link and a second Ethernet link, and the first Ethernet link and the second Ethernet link form an Ethernet segment, ES; and forwarding, by the first PE device, the first VXLAN packet to the second PE device through a third P2P VXLAN tunnel from the first PE device to the second PE device when the first PE device determines that there is a fault on the first Ethernet link, wherein the first Ethernet link connected to the first PE device and a link formed by the third P2P VXLAN tunnel and the second Ethernet link have a primary/secondary relationship; wherein the first Ethernet link and the second Ethernet link are multi-chassis trunk, MC-Trunk, links, the first Ethernet link is a primary link, the second Ethernet link is a secondary link, the first PE device is a primary device, the second PE device is a secondary device, and when there is a fault on the first Ethernet link, the method further comprises: sending, by the first PE device, a first MC-Trunk packet to the second PE device, wherein the first MC-Trunk packet is used to notify the second PE device that the first Ethernet link is faulty; and sending, by the first PE device, a second Ethernet auto-discovery per EVPN instance, Ethernet A-D per EVI, route to the third PE device, wherein the second Ethernet A-D per EVI route carries a P identifier and a B identifier, and the P identifier is not set and the B identifier is set, which is used to indicate that the first PE device is switched from a primary device to a secondary device. receiving, by the first PE device, a first virtual extensible local area network, VXLAN, packet through a first point-to-point virtual extensible local area network, P2P VXLAN, tunnel between the first PE device and the third PE device, wherein the first VXLAN packet is a VXLAN packet sent by the third PE device to a customer edge, CE, device via the first P2P VXLAN tunnel, the first PE device, and a first Ethernet link, the CE device is dual-homed to the first PE device and the second PE device respectively through the first Ethernet link and a second Ethernet link, and the first Ethernet link and the second Ethernet link form an Ethernet segment, ES; and forwarding, by the first PE device, the first VXLAN packet to the second PE device through a third P2P VXLAN tunnel from the first PE device to the second PE device when the first PE device determines that there is a fault on the first Ethernet link, wherein the first Ethernet link connected to the first PE device and a link formed by the third P2P VXLAN tunnel and the second Ethernet link have a primary/secondary relationship; wherein the first Ethernet link and the second Ethernet link are multi-chassis trunk, MC-Trunk, links, the first Ethernet link is a primary link, the second Ethernet link is a secondary link, the first PE device is a primary device, the second PE device is a secondary device, and when there is a fault on the first Ethernet link, the method further comprises: sending, by the first PE device, a first MC-Trunk packet to the second PE device, wherein the first MC-Trunk packet is used to notify the second PE device that the first Ethernet link is faulty; and sending, by the first PE device, a second Ethernet auto-discovery per EVPN instance, Ethernet A-D per EVI, route to the third PE device, wherein the second Ethernet A-D per EVI route carries a P identifier and a B identifier, and the P identifier is not set and the B identifier is set, which is used to indicate that the first PE device is switched from a primary device to a secondary device. sending, by the first PE device, a first MC-Trunk packet to the second PE device, wherein the first MC-Trunk packet is used to notify the second PE device that the first Ethernet link is faulty; and sending, by the first PE device, a second Ethernet auto-discovery per EVPN instance, Ethernet A-D per EVI, route to the third PE device, wherein the second Ethernet A-D per EVI route carries a P identifier and a B identifier, and the P identifier is not set and the B identifier is set, which is used to indicate that the first PE device is switched from a primary device to a secondary device.