In two-way relaying, two sources exchange information via a relay. In the generalized two-way relay, private information is also sent by each source to the relay, which may be used for overhead data, such as for channel state information. We consider the generalized two-way relay in a multi-carrier system over the wireless channel. Our problem is to maximize the rate that the sources exchange information, subject to some minimum rates of private information. We employ a coding scheme based on time-sharing and superposition of lattice codes and multiple access codes for each subcarrier, and show that the problem of optimizing the time-sharing variables is solved as a linear program. To simplify implementation, we propose a heuristic scheme where the time-sharing variables are quasi-extremal, i.e., all time-sharing variables, except for at most one, are assigned the largest or smallest possible values. Interestingly, the proposed scheme is provably optimal under certain channel scenarios. Numerical results show that the proposed scheme performs close to the optimal scheme in most practical channel scenarios.