Skip to content

Problem in connecting to OpenDaylight #27

@antonmatsiuk

Description

@antonmatsiuk

I am trying to connect the beba-switch to one of the recent releases of ODL (Boron SR-1) and I get two issues there.
The first one and a quick fix for it I just described here: CPqD#237
The second one is caused by improper checking of generation_id in OFPT_ROLE_REQUEST/REPLY messages hin th following function:
udatapath/datapath.c
static ofl_err
dp_check_generation_id(struct datapath *dp, uint64_t new_gen_id)

OpenDaylight sends multiple OFPT_ROLE_REQUEST messages with GEneration ID = 0 which causes (OFPET_ROLE_REQUEST_FAILED, OFPRRFC_STALE) error in dp_check_generation_id() function.
To fix this one needs to modify the dp_check_generation_id(struct datapath *dp, uint64_t new_gen_id) according to this file https://github.com/CPqD/ofsoftswitch13/blob/master/udatapath/datapath.c:

static ofl_err
dp_check_generation_id(struct datapath *dp, uint64_t new_gen_id){
if(dp->generation_id >= 0 && ((int64_t)(new_gen_id - dp->generation_id) < 0) ){
return ofl_error(OFPET_ROLE_REQUEST_FAILED, OFPRRFC_STALE);
}
else dp->generation_id = new_gen_id;
return 0;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions