Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5acbf7f1 authored by Changli Gao's avatar Changli Gao Committed by David S. Miller
Browse files

act_mirred: combine duplicate code



act_mirred: combine duplicate code

tcf_bstats is updated in any way, so we can do it earlier to reduce the size of
the code.

Signed-off-by: default avatarChangli Gao <xiaosuo@gmail.com>
Signed-off-by: default avatarJamal Hadi Salim <hadi@cyberus.ca>
----
 net/sched/act_mirred.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 787a3445
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -160,6 +160,8 @@ static int tcf_mirred(struct sk_buff *skb, struct tc_action *a,

	spin_lock(&m->tcf_lock);
	m->tcf_tm.lastuse = jiffies;
	m->tcf_bstats.bytes += qdisc_pkt_len(skb);
	m->tcf_bstats.packets++;

	dev = m->tcfm_dev;
	if (!(dev->flags & IFF_UP)) {
@@ -174,8 +176,6 @@ static int tcf_mirred(struct sk_buff *skb, struct tc_action *a,
	if (skb2 == NULL)
		goto out;

	m->tcf_bstats.bytes += qdisc_pkt_len(skb2);
	m->tcf_bstats.packets++;
	if (!(at & AT_EGRESS)) {
		if (m->tcfm_ok_push)
			skb_push(skb2, skb2->dev->hard_header_len);
@@ -193,8 +193,6 @@ static int tcf_mirred(struct sk_buff *skb, struct tc_action *a,
out:
	if (err) {
		m->tcf_qstats.overlimits++;
		m->tcf_bstats.bytes += qdisc_pkt_len(skb);
		m->tcf_bstats.packets++;
		/* should we be asking for packet to be dropped?
		 * may make sense for redirect case only
		 */