diff options
author | Mao Zhongyi <maozy.fnst@cn.fujitsu.com> | 2017-10-13 14:32:09 +0800 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2017-11-13 15:46:37 +0800 |
commit | 8fa5ad6dfb66b6c695aa6a6b54b7031c90345a37 (patch) | |
tree | 92230f57345c9c4ac9b2663de7d36e50483dc065 /net/colo.c | |
parent | 3463218c6cb6326f3b428935209aa0828d69ee42 (diff) | |
download | qemu-8fa5ad6dfb66b6c695aa6a6b54b7031c90345a37.zip qemu-8fa5ad6dfb66b6c695aa6a6b54b7031c90345a37.tar.gz qemu-8fa5ad6dfb66b6c695aa6a6b54b7031c90345a37.tar.bz2 |
colo: Consolidate the duplicate code chunk into a routine
Consolidate the code that extract the ip address(src,dst) and
port number(src,dst) of the packet into a separate routine
extract_ip_and_port() since the same chunk of code is called
from two place.
Cc: Zhang Chen <zhangckid@gmail.com>
Cc: Li Zhijian <lizhijian@cn.fujitsu.com>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Mao Zhongyi <maozy.fnst@cn.fujitsu.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/colo.c')
-rw-r--r-- | net/colo.c | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -82,6 +82,14 @@ int parse_packet_early(Packet *pkt) return 0; } +void extract_ip_and_port(uint32_t tmp_ports, ConnectionKey *key, Packet *pkt) +{ + key->src = pkt->ip->ip_src; + key->dst = pkt->ip->ip_dst; + key->src_port = ntohs(tmp_ports >> 16); + key->dst_port = ntohs(tmp_ports & 0xffff); +} + void fill_connection_key(Packet *pkt, ConnectionKey *key) { uint32_t tmp_ports; @@ -97,17 +105,11 @@ void fill_connection_key(Packet *pkt, ConnectionKey *key) case IPPROTO_SCTP: case IPPROTO_UDPLITE: tmp_ports = *(uint32_t *)(pkt->transport_header); - key->src = pkt->ip->ip_src; - key->dst = pkt->ip->ip_dst; - key->src_port = ntohs(tmp_ports & 0xffff); - key->dst_port = ntohs(tmp_ports >> 16); + extract_ip_and_port(tmp_ports, key, pkt); break; case IPPROTO_AH: tmp_ports = *(uint32_t *)(pkt->transport_header + 4); - key->src = pkt->ip->ip_src; - key->dst = pkt->ip->ip_dst; - key->src_port = ntohs(tmp_ports & 0xffff); - key->dst_port = ntohs(tmp_ports >> 16); + extract_ip_and_port(tmp_ports, key, pkt); break; default: break; |