summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@ugent.be>2017-05-02 10:04:10 +0000
committerSander Vrijders <sander.vrijders@ugent.be>2017-05-02 10:04:10 +0000
commitfb5fd3771629c9276450b5618e0875cb3aac98bb (patch)
tree7981d1887add4a291bafc321bd67a4daa4b0686b
parented9e4a4fc1eaad3f5f08106e6048b92094a6a70b (diff)
parent9b8b1412c3c4a80df713abd02f172d87397adaf0 (diff)
downloadouroboros-fb5fd3771629c9276450b5618e0875cb3aac98bb.tar.gz
ouroboros-fb5fd3771629c9276450b5618e0875cb3aac98bb.zip
Merged in dstaesse/ouroboros/be-dealloc-del (pull request #502)
ipcpd: Don't send deallocation messages
-rw-r--r--src/ipcpd/normal/fa.c38
-rw-r--r--src/ipcpd/normal/flow_alloc.proto1
2 files changed, 0 insertions, 39 deletions
diff --git a/src/ipcpd/normal/fa.c b/src/ipcpd/normal/fa.c
index 6ea5b711..3aa2634a 100644
--- a/src/ipcpd/normal/fa.c
+++ b/src/ipcpd/normal/fa.c
@@ -293,35 +293,6 @@ int fa_alloc_resp(int fd,
int fa_dealloc(int fd)
{
- flow_alloc_msg_t msg = FLOW_ALLOC_MSG__INIT;
- struct shm_du_buff * sdb;
- qoscube_t qc;
- uint64_t addr;
-
- msg.code = FLOW_ALLOC_CODE__FLOW_DEALLOC;
- msg.has_cep_id = true;
-
- pthread_rwlock_rdlock(&fa.flows_lock);
-
- msg.cep_id = frct_i_get_id(fa.fd_to_cep_id[fd]);
-
- addr = frct_i_get_addr(fa.fd_to_cep_id[fd]);
-
- pthread_rwlock_unlock(&fa.flows_lock);
-
- sdb = create_fa_sdb(&msg);
- if (sdb == NULL)
- return -1;
-
- ipcp_flow_get_qoscube(fd, &qc);
-
- assert(qc >= 0 && qc < QOS_CUBE_MAX);
-
- if (dt_write_sdu(addr, qc, PDU_TYPE_FA, sdb)) {
- ipcp_sdb_release(sdb);
- log_warn("Failed to send dealloc message.");
- }
-
ipcp_flow_fini(fd);
pthread_rwlock_wrlock(&fa.flows_lock);
@@ -438,15 +409,6 @@ int fa_post_sdu(struct shm_du_buff * sdb)
pthread_rwlock_unlock(&fa.flows_lock);
break;
- case FLOW_ALLOC_CODE__FLOW_DEALLOC:
- /* FIXME: mark flow and wait for frct_i to time out */
- pthread_rwlock_rdlock(&fa.flows_lock);
- fd = fa.cep_id_to_fd[msg->cep_id];
- pthread_rwlock_unlock(&fa.flows_lock);
- ipcp_flow_fini(fd);
- sdu_sched_del(fa.sdu_sched, fd);
- flow_dealloc(fd);
- break;
default:
log_err("Got an unknown flow allocation message.");
flow_alloc_msg__free_unpacked(msg, NULL);
diff --git a/src/ipcpd/normal/flow_alloc.proto b/src/ipcpd/normal/flow_alloc.proto
index ee7f96e8..947ce86b 100644
--- a/src/ipcpd/normal/flow_alloc.proto
+++ b/src/ipcpd/normal/flow_alloc.proto
@@ -25,7 +25,6 @@ syntax = "proto2";
enum flow_alloc_code {
FLOW_REQ = 1;
FLOW_REPLY = 2;
- FLOW_DEALLOC = 3;
};
message flow_alloc_msg {