diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-06-21 11:50:19 +0200 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-06-21 12:21:54 +0200 |
commit | 806629e64e8231d0c57a80d3b6584094cd6c89bd (patch) | |
tree | e0bbe49e68ba86be325ee23c5879a7611df87c9f /src/ipcpd/shim-udp/main.c | |
parent | 22020246ac2b6f03f42dffb48ced19e43b3e9b77 (diff) | |
download | ouroboros-806629e64e8231d0c57a80d3b6584094cd6c89bd.tar.gz ouroboros-806629e64e8231d0c57a80d3b6584094cd6c89bd.zip |
lib, ipcpd, irmd: Add full-fledged QoS
This adds more Quality of Service support to Ouroboros. One part is
the network specific characteristics such as bandwidth, delay, ...
The other part is end-to-end QoS like reliability, window based flow
control, ...
Diffstat (limited to 'src/ipcpd/shim-udp/main.c')
-rw-r--r-- | src/ipcpd/shim-udp/main.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/ipcpd/shim-udp/main.c b/src/ipcpd/shim-udp/main.c index 892334b2..b793c414 100644 --- a/src/ipcpd/shim-udp/main.c +++ b/src/ipcpd/shim-udp/main.c @@ -196,10 +196,10 @@ static int send_shim_udp_msg(shim_udp_msg_t * msg, return 0; } -static int ipcp_udp_port_alloc(uint32_t dst_ip_addr, - uint16_t src_udp_port, +static int ipcp_udp_port_alloc(uint32_t dst_ip_addr, + uint16_t src_udp_port, const uint8_t * dst, - qoscube_t cube) + qoscube_t cube) { shim_udp_msg_t msg = SHIM_UDP_MSG__INIT; @@ -899,7 +899,7 @@ static int ipcp_udp_flow_alloc(int fd, assert(dst); - if (cube != QOS_CUBE_BE && cube != QOS_CUBE_FRC) { + if (cube != QOS_CUBE_BE) { log_dbg("Unsupported QoS requested."); return -1; } @@ -923,7 +923,6 @@ static int ipcp_udp_flow_alloc(int fd, return -1; } - if (!shim_data_dir_has(ipcpi.shim_data, dst)) { log_dbg("Could not resolve destination."); close(skfd); @@ -952,10 +951,7 @@ static int ipcp_udp_flow_alloc(int fd, pthread_rwlock_unlock(&udp_data.flows_lock); - if (ipcp_udp_port_alloc(ip_addr, - f_saddr.sin_port, - dst, - cube) < 0) { + if (ipcp_udp_port_alloc(ip_addr, f_saddr.sin_port, dst, cube) < 0) { pthread_rwlock_wrlock(&udp_data.flows_lock); udp_data.fd_to_uf[fd].udp = -1; |