A method for determining a Generic Routing Encapsulation, GRE, tunnel identifier, wherein the method is applied to a scenario in which there are at least two GRE tunnels between a hybrid access gateway, HAG, and a hybrid customer premises equipment, HCPE, and the at least two GRE tunnels are bonded, the method comprises: in a process of setting up the first GRE tunnel, sending, by the HAG, a GRE tunnel setup accept packet to the HCPE, wherein the GRE tunnel setup accept packet comprises request information used to request a correspondence between a source IP address of the first GRE tunnel and a tunnel identifier of the first GRE tunnel; after the first GRE tunnel is set up, receiving, by the HAG, a first GRE tunnel notify packet sent by the HCPE, wherein the first GRE tunnel notify packet is sent by the HCPE according to the request information, and wherein an attribute field of the first GRE tunnel notify packet comprises the information used to indicate the correspondence; obtaining, by the HAG, the correspondence according to the first GRE tunnel notify packet; receiving, by the HAG, a service packet that is sent by the HCPE through a first GRE tunnel, wherein the service packet comprises a source IP address of the first GRE tunnel carrying the service packet, and the first GRE tunnel is one of the at least two GRE tunnels; and looking up, by the HAG, a correspondence table according to the source IP address of the first GRE tunnel carrying the service packet, to determine a tunnel identifier of the first GRE tunnel carrying the service packet, wherein the correspondence table comprises a correspondence between the source IP address of the first GRE tunnel and the tunnel identifier of the first GRE tunnel, the source IP address of the first GRE tunnel is an IP address of a tunnel port that is of the first GRE tunnel and that is on the HCPE, and the tunnel identifier of the first GRE tunnel is used to uniquely indicate the first GRE tunnel, wherein access network types of different GRE tunnels of the at least two GRE tunnels are different, and the tunnel identifier of the first GRE tunnel indicates an access network type of the first GRE tunnel. in a process of setting up the first GRE tunnel, sending, by the HAG, a GRE tunnel setup accept packet to the HCPE, wherein the GRE tunnel setup accept packet comprises request information used to request a correspondence between a source IP address of the first GRE tunnel and a tunnel identifier of the first GRE tunnel; after the first GRE tunnel is set up, receiving, by the HAG, a first GRE tunnel notify packet sent by the HCPE, wherein the first GRE tunnel notify packet is sent by the HCPE according to the request information, and wherein an attribute field of the first GRE tunnel notify packet comprises the information used to indicate the correspondence; obtaining, by the HAG, the correspondence according to the first GRE tunnel notify packet; receiving, by the HAG, a service packet that is sent by the HCPE through a first GRE tunnel, wherein the service packet comprises a source IP address of the first GRE tunnel carrying the service packet, and the first GRE tunnel is one of the at least two GRE tunnels; and looking up, by the HAG, a correspondence table according to the source IP address of the first GRE tunnel carrying the service packet, to determine a tunnel identifier of the first GRE tunnel carrying the service packet, wherein the correspondence table comprises a correspondence between the source IP address of the first GRE tunnel and the tunnel identifier of the first GRE tunnel, the source IP address of the first GRE tunnel is an IP address of a tunnel port that is of the first GRE tunnel and that is on the HCPE, and the tunnel identifier of the first GRE tunnel is used to uniquely indicate the first GRE tunnel, wherein access network types of different GRE tunnels of the at least two GRE tunnels are different, and the tunnel identifier of the first GRE tunnel indicates an access network type of the first GRE tunnel.