From d6bd5ec90ca9fed2bd92e3ba4ad00b40966a30f1 Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Mon, 11 Apr 2005 10:16:17 +0000 Subject: [PATCH] Remove goto. --- sys/netgraph/netflow/netflow.c | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/sys/netgraph/netflow/netflow.c b/sys/netgraph/netflow/netflow.c index cd84e90f24d..296849d45d9 100644 --- a/sys/netgraph/netflow/netflow.c +++ b/sys/netgraph/netflow/netflow.c @@ -432,26 +432,22 @@ ng_netflow_flow_add(priv_p priv, struct ip *ip, iface_p iface, * ip packet assebmling here. Anyway, (in)famous trafd works this way - * and nobody complains yet :) */ - if(ip->ip_off & htons(IP_OFFMASK)) - goto flow_rec_done; + if ((ip->ip_off & htons(IP_OFFMASK)) == 0) + switch(r.r_ip_p) { + case IPPROTO_TCP: + { + register struct tcphdr *tcp; - switch(r.r_ip_p) { - case IPPROTO_TCP: - { - register struct tcphdr *tcp; - - tcp = (struct tcphdr *)((caddr_t )ip + hlen); - r.r_sport = tcp->th_sport; - r.r_dport = tcp->th_dport; - tcp_flags = tcp->th_flags; - break; - } - case IPPROTO_UDP: - r.r_ports = *(uint32_t *)((caddr_t )ip + hlen); - break; - } - -flow_rec_done: + tcp = (struct tcphdr *)((caddr_t )ip + hlen); + r.r_sport = tcp->th_sport; + r.r_dport = tcp->th_dport; + tcp_flags = tcp->th_flags; + break; + } + case IPPROTO_UDP: + r.r_ports = *(uint32_t *)((caddr_t )ip + hlen); + break; + } slot = ip_hash(&r);