Previously, you could change the MAC address but that had no effect on
the datapath ID, so that there was no way to change the datapath ID at all.
goto err_free_dp;
dp->dp_idx = dp_idx;
- dp->id = get_datapath_id(dp->netdev);
dp->chain = chain_create(dp);
if (dp->chain == NULL)
goto err_destroy_dp_dev;
fill_features_reply(struct datapath *dp, struct ofp_switch_features *ofr)
{
struct net_bridge_port *p;
+ uint64_t dpid = get_datapath_id(dp->netdev);
int port_count = 0;
- ofr->datapath_id = cpu_to_be64(dp->id);
+ ofr->datapath_id = cpu_to_be64(dpid);
ofr->n_buffers = htonl(N_PKT_BUFFERS);
ofr->n_tables = dp->chain->n_tables;
struct datapath {
int dp_idx;
- /* Unique identifier for this datapath, incorporates the dp_idx and
- * a hardware address */
- uint64_t id;
-
struct timer_list timer; /* Expiration timer. */
struct sw_chain *chain; /* Forwarding rules. */
struct task_struct *dp_task; /* Kernel thread for maintenance. */