A model of a smart road network consisting of unsignalised intersections and smart roads connecting them is considered in this work with the aim of presenting a traffic management system for self-driving cars (or, more generally, autonomous vehicles) which travel the network. The proposed system repeatedly solves a set of mathematical programming problems (each of them relative to a single intersection or to a single road stretch of the network) within a decentralised control scheme in which each local intersection controller and each local road controller communicates with the fully autonomous vehicles in order to receive travel data from vehicles and to provide speed profiles to them once determined the optimal solution of the problem. In order to reduce the computational effort required to provide the optimal solution, a discrete-time approach is adopted so that, in each time interval, a limited number of vehicles are taken into consideration; in this way, solutions can be determined in a very short time thus making the proposed model compatible with a practical application to real traffic systems. The proposed model is general enough, and can be adapted to different scenarios of smart road networks reserved for self-driving cars.