seg6.c (5db5b395150186d4a177ebfa563894af302ab3ad) | seg6.c (46738b1317e169b281ad74690276916e24d1be6d) |
---|---|
1/* 2 * SR-IPv6 implementation 3 * 4 * Author: 5 * David Lebrun <david.lebrun@uclouvain.be> 6 * 7 * 8 * This program is free software; you can redistribute it and/or --- 437 unchanged lines hidden (view full) --- 446 err = genl_register_family(&seg6_genl_family); 447 if (err) 448 goto out; 449 450 err = register_pernet_subsys(&ip6_segments_ops); 451 if (err) 452 goto out_unregister_genl; 453 | 1/* 2 * SR-IPv6 implementation 3 * 4 * Author: 5 * David Lebrun <david.lebrun@uclouvain.be> 6 * 7 * 8 * This program is free software; you can redistribute it and/or --- 437 unchanged lines hidden (view full) --- 446 err = genl_register_family(&seg6_genl_family); 447 if (err) 448 goto out; 449 450 err = register_pernet_subsys(&ip6_segments_ops); 451 if (err) 452 goto out_unregister_genl; 453 |
454#ifdef CONFIG_IPV6_SEG6_LWTUNNEL |
|
454 err = seg6_iptunnel_init(); 455 if (err) 456 goto out_unregister_pernet; | 455 err = seg6_iptunnel_init(); 456 if (err) 457 goto out_unregister_pernet; |
458#endif |
|
457 458#ifdef CONFIG_IPV6_SEG6_HMAC 459 err = seg6_hmac_init(); 460 if (err) 461 goto out_unregister_iptun; 462#endif 463 464 pr_info("Segment Routing with IPv6\n"); 465 466out: 467 return err; 468#ifdef CONFIG_IPV6_SEG6_HMAC 469out_unregister_iptun: | 459 460#ifdef CONFIG_IPV6_SEG6_HMAC 461 err = seg6_hmac_init(); 462 if (err) 463 goto out_unregister_iptun; 464#endif 465 466 pr_info("Segment Routing with IPv6\n"); 467 468out: 469 return err; 470#ifdef CONFIG_IPV6_SEG6_HMAC 471out_unregister_iptun: |
472#ifdef CONFIG_IPV6_SEG6_LWTUNNEL |
|
470 seg6_iptunnel_exit(); 471#endif | 473 seg6_iptunnel_exit(); 474#endif |
475#endif 476#ifdef CONFIG_IPV6_SEG6_LWTUNNEL |
|
472out_unregister_pernet: 473 unregister_pernet_subsys(&ip6_segments_ops); | 477out_unregister_pernet: 478 unregister_pernet_subsys(&ip6_segments_ops); |
479#endif |
|
474out_unregister_genl: 475 genl_unregister_family(&seg6_genl_family); 476 goto out; 477} 478 479void seg6_exit(void) 480{ 481#ifdef CONFIG_IPV6_SEG6_HMAC 482 seg6_hmac_exit(); 483#endif | 480out_unregister_genl: 481 genl_unregister_family(&seg6_genl_family); 482 goto out; 483} 484 485void seg6_exit(void) 486{ 487#ifdef CONFIG_IPV6_SEG6_HMAC 488 seg6_hmac_exit(); 489#endif |
490#ifdef CONFIG_IPV6_SEG6_LWTUNNEL |
|
484 seg6_iptunnel_exit(); | 491 seg6_iptunnel_exit(); |
492#endif |
|
485 unregister_pernet_subsys(&ip6_segments_ops); 486 genl_unregister_family(&seg6_genl_family); 487} | 493 unregister_pernet_subsys(&ip6_segments_ops); 494 genl_unregister_family(&seg6_genl_family); 495} |