We introduce a generalized two-way relay channel where two sources exchange information (not necessarily of the same rate) with help from a relay, and each source additionally sends private information to the relay. We consider the Gaussian setting where all point-to-point links are Gaussian channels. For this channel, we consider a two-phase protocol consisting of a multiple access channel (MAC) phase and a broadcast channel (BC) phase. We propose a general decode-and-forward (DF) scheme where the MAC phase is related to computation over MAC, while the BC phase is related to BC with receiver side information. In the MAC phase, we time share a capacityachieving code for the MAC and a superposition code with a lattice code as its component code. We show that the proposed DF scheme is near optimal for any channel conditions, in that it achieves rates within half bit of the capacity region of the two-phase protocol.