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

Commit 6de9ace4 authored by Fan Du's avatar Fan Du Committed by Steffen Klassert
Browse files

{pktgen, xfrm} Add statistics counting when transforming



so /proc/net/xfrm_stat could give user clue about what's
wrong in this process.

Signed-off-by: default avatarFan Du <fan.du@windriver.com>
Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
parent 0af0a413
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -2479,6 +2479,7 @@ static int pktgen_output_ipsec(struct sk_buff *skb, struct pktgen_dev *pkt_dev)
{
	struct xfrm_state *x = pkt_dev->flows[pkt_dev->curfl].x;
	int err = 0;
	struct net *net = dev_net(pkt_dev->odev);

	if (!x)
		return 0;
@@ -2488,12 +2489,15 @@ static int pktgen_output_ipsec(struct sk_buff *skb, struct pktgen_dev *pkt_dev)
		return 0;

	err = x->outer_mode->output(x, skb);
	if (err)
	if (err) {
		XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTSTATEMODEERROR);
		goto error;
	}
	err = x->type->output(x, skb);
	if (err)
	if (err) {
		XFRM_INC_STATS(net, LINUX_MIB_XFRMOUTSTATEPROTOERROR);
		goto error;

	}
	spin_lock_bh(&x->lock);
	x->curlft.bytes += skb->len;
	x->curlft.packets++;