In this study, the authors propose a cross-layer resource allocation scheme for orthogonal frequency multiple access (OFDM) systems based on the subcarrier channel distribution information (CDI). Here, in contrast to most of the previous works, the authors consider practical discrete rate adaptation in which rate is adapted using a predefined set of modulation levels corresponding to fading regions. The OFDM system supports 'streaming traffic' that requires a minimum guaranteed average delay, as well as 'elastic traffic' with flexible rate requirements. The main objective is to maximise the total average transmission rate of elastic users, whereas the average delay is also guaranteed for streaming traffic, all subject to the maximum average transmission power constraint. The authors then propose an algorithm which finds suboptimal fading regions, as well as suboptimal subcarrier allocation based on dual decomposition method. In the proposed method, the solution of optimisation problem remains valid, until the channel distributions and/or the packet arrival and packet length distribution of the users are changed. This significantly reduces the computational complexity since there is no need to solve the optimisation problem for each channel side information (CSI) feedback. The proposed scheme also reduces the signalling overhead since corresponding to each user the CSI is required only for the assigned subcarriers. Particularly, the proposed method is suitable for cases in which wireless channel distributions is not changed, or can be simply estimated, for example, cases where a parametric distribution is fixed and only statistics such as average and variance is changed. Using simulations, the authors study the impact of number of fading regions and packet arrival rate on the achievable rate of elastic traffic.