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

Commit 8a59359c authored by Christoph Paasch's avatar Christoph Paasch Committed by David S. Miller
Browse files

tcp: metrics: New netlink attribute for src IP and dumped in netlink reply



This patch adds a new netlink attribute for the source-IP and appends it
to the netlink reply. Now, iproute2 can have access to the source-IP.

Signed-off-by: default avatarChristoph Paasch <christoph.paasch@uclouvain.be>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a5443028
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -35,6 +35,8 @@ enum {
	TCP_METRICS_ATTR_FOPEN_SYN_DROPS,	/* u16, count of drops */
	TCP_METRICS_ATTR_FOPEN_SYN_DROPS,	/* u16, count of drops */
	TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS,	/* msecs age */
	TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS,	/* msecs age */
	TCP_METRICS_ATTR_FOPEN_COOKIE,		/* binary */
	TCP_METRICS_ATTR_FOPEN_COOKIE,		/* binary */
	TCP_METRICS_ATTR_SADDR_IPV4,		/* u32 */
	TCP_METRICS_ATTR_SADDR_IPV6,		/* binary */


	__TCP_METRICS_ATTR_MAX,
	__TCP_METRICS_ATTR_MAX,
};
};
+6 −0
Original line number Original line Diff line number Diff line
@@ -745,11 +745,17 @@ static int tcp_metrics_fill_info(struct sk_buff *msg,
		if (nla_put_be32(msg, TCP_METRICS_ATTR_ADDR_IPV4,
		if (nla_put_be32(msg, TCP_METRICS_ATTR_ADDR_IPV4,
				tm->tcpm_daddr.addr.a4) < 0)
				tm->tcpm_daddr.addr.a4) < 0)
			goto nla_put_failure;
			goto nla_put_failure;
		if (nla_put_be32(msg, TCP_METRICS_ATTR_SADDR_IPV4,
				tm->tcpm_saddr.addr.a4) < 0)
			goto nla_put_failure;
		break;
		break;
	case AF_INET6:
	case AF_INET6:
		if (nla_put(msg, TCP_METRICS_ATTR_ADDR_IPV6, 16,
		if (nla_put(msg, TCP_METRICS_ATTR_ADDR_IPV6, 16,
			    tm->tcpm_daddr.addr.a6) < 0)
			    tm->tcpm_daddr.addr.a6) < 0)
			goto nla_put_failure;
			goto nla_put_failure;
		if (nla_put(msg, TCP_METRICS_ATTR_SADDR_IPV6, 16,
			    tm->tcpm_saddr.addr.a6) < 0)
			goto nla_put_failure;
		break;
		break;
	default:
	default:
		return -EAFNOSUPPORT;
		return -EAFNOSUPPORT;