diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ipcpd/normal/fmgr.c | 2 | ||||
| -rw-r--r-- | src/ipcpd/shim-eth-llc/main.c | 2 | ||||
| -rw-r--r-- | src/ipcpd/shim-udp/main.c | 2 | ||||
| -rw-r--r-- | src/lib/ipcp.c | 68 | 
4 files changed, 38 insertions, 36 deletions
| diff --git a/src/ipcpd/normal/fmgr.c b/src/ipcpd/normal/fmgr.c index d74ad0c8..79b1bb4b 100644 --- a/src/ipcpd/normal/fmgr.c +++ b/src/ipcpd/normal/fmgr.c @@ -583,7 +583,7 @@ int fmgr_flow_alloc_msg(struct frct_i * frct_i,                          return -1;                  } -                ret = ipcp_flow_dealloc(0, flow->flow.port_id); +                ret = irm_flow_dealloc(flow->flow.port_id);                  break;          default:                  LOG_ERR("Got an unknown flow allocation message."); diff --git a/src/ipcpd/shim-eth-llc/main.c b/src/ipcpd/shim-eth-llc/main.c index 028d249f..0fa32313 100644 --- a/src/ipcpd/shim-eth-llc/main.c +++ b/src/ipcpd/shim-eth-llc/main.c @@ -599,7 +599,7 @@ static int eth_llc_ipcp_flow_dealloc_req(uint8_t ssap,          pthread_rwlock_unlock(&shim_data(_ipcp)->flows_lock);          pthread_rwlock_unlock(&_ipcp->state_lock); -        ipcp_flow_dealloc(0, port_id); +        irm_flow_dealloc(port_id);          LOG_DBG("Flow with port_id %d deallocated.", port_id); diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c index 85de1eec..c35bd244 100644 --- a/src/ipcpd/shim-udp/main.c +++ b/src/ipcpd/shim-udp/main.c @@ -606,7 +606,7 @@ static int ipcp_udp_flow_dealloc_req(int udp_port)          pthread_rwlock_unlock(&_ipcp->state_lock); -        ipcp_flow_dealloc(0, port_id); +        irm_flow_dealloc(port_id);          close(fd); diff --git a/src/lib/ipcp.c b/src/lib/ipcp.c index e8e31e46..01741121 100644 --- a/src/lib/ipcp.c +++ b/src/lib/ipcp.c @@ -464,49 +464,51 @@ int ipcp_flow_alloc_reply(pid_t api,  int ipcp_flow_dealloc(pid_t api,                        int   port_id)  { -        if (api != 0) { -                ipcp_msg_t msg = IPCP_MSG__INIT; -                ipcp_msg_t * recv_msg = NULL; -                int ret = -1; -                msg.code        = IPCP_MSG_CODE__IPCP_FLOW_DEALLOC; -                msg.has_port_id = true; -                msg.port_id     = port_id; +        ipcp_msg_t msg = IPCP_MSG__INIT; +        ipcp_msg_t * recv_msg = NULL; +        int ret = -1; -                recv_msg = send_recv_ipcp_msg(api, &msg); -                if (recv_msg == NULL) -                        return 0; +        msg.code        = IPCP_MSG_CODE__IPCP_FLOW_DEALLOC; +        msg.has_port_id = true; +        msg.port_id     = port_id; -                if (recv_msg->has_result == false) { -                        ipcp_msg__free_unpacked(recv_msg, NULL); -                        return 0; -                } +        recv_msg = send_recv_ipcp_msg(api, &msg); +        if (recv_msg == NULL) +                return 0; -                ret = recv_msg->result; +        if (recv_msg->has_result == false) {                  ipcp_msg__free_unpacked(recv_msg, NULL); +                return 0; +        } -                return ret; -        } else { -                irm_msg_t msg = IRM_MSG__INIT; -                irm_msg_t * recv_msg = NULL; -                int ret = -1; +        ret = recv_msg->result; +        ipcp_msg__free_unpacked(recv_msg, NULL); + +        return ret; +} -                msg.code        = IRM_MSG_CODE__IPCP_FLOW_DEALLOC; -                msg.has_port_id = true; -                msg.port_id     = port_id; +int irm_flow_dealloc(int port_id) +{ +        irm_msg_t msg = IRM_MSG__INIT; +        irm_msg_t * recv_msg = NULL; +        int ret = -1; -                recv_msg = send_recv_irm_msg(&msg); -                if (recv_msg == NULL) -                        return 0; +        msg.code        = IRM_MSG_CODE__IPCP_FLOW_DEALLOC; +        msg.has_port_id = true; +        msg.port_id     = port_id; -                if (recv_msg->has_result == false) { -                        irm_msg__free_unpacked(recv_msg, NULL); -                        return 0; -                } +        recv_msg = send_recv_irm_msg(&msg); +        if (recv_msg == NULL) +                return 0; -                ret = recv_msg->result; +        if (recv_msg->has_result == false) {                  irm_msg__free_unpacked(recv_msg, NULL); - -                return ret; +                return 0;          } + +        ret = recv_msg->result; +        irm_msg__free_unpacked(recv_msg, NULL); + +        return ret;  } | 
