- if (tiny_router_buffers <= 0) {
- LCONSOLE_ERROR_MSG(0x10c, "tiny_router_buffers=%d invalid when "
- "routing enabled\n", tiny_router_buffers);
- rc = -EINVAL;
- goto failed;
- }
-
- rc = lnet_rtrpool_alloc_bufs(&the_lnet.ln_rtrpools[0],
- tiny_router_buffers);
- if (rc != 0)
- goto failed;
-
- if (small_router_buffers <= 0) {
- LCONSOLE_ERROR_MSG(0x10d, "small_router_buffers=%d invalid when"
- " routing enabled\n", small_router_buffers);
- rc = -EINVAL;
- goto failed;
- }
-
- rc = lnet_rtrpool_alloc_bufs(&the_lnet.ln_rtrpools[1],
- small_router_buffers);
- if (rc != 0)
- goto failed;
-
- if (large_router_buffers <= 0) {
- LCONSOLE_ERROR_MSG(0x10e, "large_router_buffers=%d invalid when"
- " routing enabled\n", large_router_buffers);
- rc = -EINVAL;
- goto failed;
- }
+ nrb_tiny = lnet_nrb_tiny_calculate(0);
+ if (nrb_tiny < 0)
+ return -EINVAL;
+
+ nrb_small = lnet_nrb_small_calculate(small_pages);
+ if (nrb_small < 0)
+ return -EINVAL;
+
+ nrb_large = lnet_nrb_large_calculate(large_pages);
+ if (nrb_large < 0)
+ return -EINVAL;
+
+ the_lnet.ln_rtrpools = cfs_percpt_alloc(lnet_cpt_table(),
+ LNET_NRBPOOLS *
+ sizeof(lnet_rtrbufpool_t));
+ if (the_lnet.ln_rtrpools == NULL) {
+ LCONSOLE_ERROR_MSG(0x10c,
+ "Failed to initialize router buffe pool\n");
+ return -ENOMEM;
+ }