File tree Expand file tree Collapse file tree 3 files changed +53
-0
lines changed Expand file tree Collapse file tree 3 files changed +53
-0
lines changed Original file line number Diff line number Diff line change @@ -792,6 +792,33 @@ int knet_handle_enable_pmtud_notify(knet_handle_t knet_h,
792
792
return 0 ;
793
793
}
794
794
795
+ int knet_handle_pmtud_get (knet_handle_t knet_h ,
796
+ unsigned int * link_mtu ,
797
+ unsigned int * data_mtu )
798
+ {
799
+ int savederrno = 0 ;
800
+
801
+ if (!knet_h ) {
802
+ errno = EINVAL ;
803
+ return -1 ;
804
+ }
805
+
806
+ savederrno = pthread_rwlock_rdlock (& knet_h -> list_rwlock );
807
+ if (savederrno ) {
808
+ log_err (knet_h , KNET_SUB_HANDLE , "Unable to get write lock: %s" ,
809
+ strerror (savederrno ));
810
+ errno = savederrno ;
811
+ return -1 ;
812
+ }
813
+
814
+ * link_mtu = knet_h -> link_mtu ;
815
+ * data_mtu = knet_h -> data_mtu ;
816
+
817
+ pthread_rwlock_unlock (& knet_h -> list_rwlock );
818
+
819
+ return 0 ;
820
+ }
821
+
795
822
int knet_handle_crypto (knet_handle_t knet_h , struct knet_handle_crypto_cfg * knet_handle_crypto_cfg )
796
823
{
797
824
int savederrno = 0 ;
Original file line number Diff line number Diff line change @@ -210,6 +210,24 @@ int knet_handle_enable_pmtud_notify(knet_handle_t knet_h,
210
210
unsigned int link_mtu ,
211
211
unsigned int data_mtu ));
212
212
213
+ /*
214
+ * knet_handle_pmtud_get
215
+ *
216
+ * knet_h - pointer to knet_handle_t
217
+ *
218
+ * link_mtu - pointer where to store link_mtu
219
+ * data_mtu - pointer where to store data_mtu (see above)
220
+ *
221
+ * knet_handle_pmtud_get returns:
222
+ *
223
+ * 0 on success
224
+ * -1 on error and errno is set.
225
+ */
226
+
227
+ int knet_handle_pmtud_get (knet_handle_t knet_h ,
228
+ unsigned int * link_mtu ,
229
+ unsigned int * data_mtu );
230
+
213
231
/*
214
232
* knet_handle_crypto
215
233
*
Original file line number Diff line number Diff line change @@ -282,6 +282,7 @@ int main(int argc, char *argv[])
282
282
size_t host_ids_entries = 0 ;
283
283
//int has_crypto = 0;
284
284
int logfd ;
285
+ unsigned int link_mtu = 0 , data_mtu = 0 ;
285
286
286
287
if (argc < 3 ) {
287
288
print_usage (argv [0 ]);
@@ -319,6 +320,13 @@ int main(int argc, char *argv[])
319
320
exit (EXIT_FAILURE );
320
321
}
321
322
323
+ if (knet_handle_pmtud_get (knet_h , & link_mtu , & data_mtu )) {
324
+ printf ("Unable to get PMTUd current values\n" );
325
+ exit (EXIT_FAILURE );
326
+ } else {
327
+ printf ("Current PMTUd: link %u data %u\n" , link_mtu , data_mtu );
328
+ }
329
+
322
330
if (knet_handle_enable_pmtud_notify (knet_h , pmtud_notify )) {
323
331
printf ("Unable to install PMTUd notification callback\n" );
324
332
exit (EXIT_FAILURE );
You can’t perform that action at this time.
0 commit comments