You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
Hi @antonmatsiuk, officially we do not support ODL in the scope of the BEBA project, however, it seems that for both issues you already have a solution. I suggest you create a pull request with both fixes. We'd be happy to merge it.
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;
}
The text was updated successfully, but these errors were encountered: