summaryrefslogtreecommitdiff
path: root/net/mctp/test/utils.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@codeconstruct.com.au>2025-07-02 14:20:14 +0800
committerPaolo Abeni <pabeni@redhat.com>2025-07-08 12:39:24 +0200
commit48e1736e5dc1dce875fdaba9b99c01dd4cd226a0 (patch)
tree26ca5216cfa4c1eb04f10a41bf7242e45dad2733 /net/mctp/test/utils.c
parentad39c12fcee34b8980a80ad5c803bca9906fbd4e (diff)
net: mctp: test: Add tests for gateway routes
Add a few kunit tests for the gateway routing. Because we have multiple route types now (direct and gateway), rename mctp_test_create_route to mctp_test_create_route_direct, and add a _gateway variant too. Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Link: https://patch.msgid.link/20250702-dev-forwarding-v5-14-1468191da8a4@codeconstruct.com.au Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/mctp/test/utils.c')
-rw-r--r--net/mctp/test/utils.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/net/mctp/test/utils.c b/net/mctp/test/utils.c
index 97b05e340586..01f5af416b81 100644
--- a/net/mctp/test/utils.c
+++ b/net/mctp/test/utils.c
@@ -119,10 +119,10 @@ static struct mctp_test_route *mctp_route_test_alloc(void)
return rt;
}
-struct mctp_test_route *mctp_test_create_route(struct net *net,
- struct mctp_dev *dev,
- mctp_eid_t eid,
- unsigned int mtu)
+struct mctp_test_route *mctp_test_create_route_direct(struct net *net,
+ struct mctp_dev *dev,
+ mctp_eid_t eid,
+ unsigned int mtu)
{
struct mctp_test_route *rt;
@@ -144,6 +144,31 @@ struct mctp_test_route *mctp_test_create_route(struct net *net,
return rt;
}
+struct mctp_test_route *mctp_test_create_route_gw(struct net *net,
+ unsigned int netid,
+ mctp_eid_t eid,
+ mctp_eid_t gw,
+ unsigned int mtu)
+{
+ struct mctp_test_route *rt;
+
+ rt = mctp_route_test_alloc();
+ if (!rt)
+ return NULL;
+
+ rt->rt.min = eid;
+ rt->rt.max = eid;
+ rt->rt.mtu = mtu;
+ rt->rt.type = RTN_UNSPEC;
+ rt->rt.dst_type = MCTP_ROUTE_GATEWAY;
+ rt->rt.gateway.eid = gw;
+ rt->rt.gateway.net = netid;
+
+ list_add_rcu(&rt->rt.list, &net->mctp.routes);
+
+ return rt;
+}
+
/* Convenience function for our test dst; release with mctp_test_dst_release()
*/
void mctp_test_dst_setup(struct kunit *test, struct mctp_dst *dst,