@@ -2,7 +2,6 @@ package srv6
22
33import (
44 "fmt"
5- "log"
65 "net"
76 "strings"
87
@@ -18,123 +17,123 @@ import (
1817func RouteIngressAdd (ipStr string ) error {
1918 ip , err := util .ParseIP (ipStr )
2019 if err != nil {
21- log . Fatalf ("Invalid ip: %v " , err )
20+ return fmt . Errorf ("Invalid ip: %w " , err )
2221 }
2322 vpc , vpcAttachment , err := util .ExtractVPCFromSRv6Endpoint (ip )
2423 if err != nil {
25- log . Fatalf ("could not extract SRv6 endpoint: %v " , err )
24+ return fmt . Errorf ("could not extract SRv6 endpoint: %w " , err )
2625 }
2726 vpc , err = ToBase62 (vpc )
2827 if err != nil {
29- log . Fatalf ("Invalid vpc: %v " , err )
28+ return fmt . Errorf ("Invalid vpc: %w " , err )
3029 }
3130 vpcAttachment , err = ToBase62 (vpcAttachment )
3231 if err != nil {
33- log . Fatalf ("Invalid vpcattachment: %v " , err )
32+ return fmt . Errorf ("Invalid vpcattachment: %w " , err )
3433 }
3534
3635 if err := routeingress .Add (netlink .NewIPNet (ip ), vpc , vpcAttachment ); err != nil {
37- log . Fatalf ("routeingress add failed: %v " , err )
36+ return fmt . Errorf ("routeingress add failed: %w " , err )
3837 }
3938 return nil
4039}
4140
4241func RouteIngressDel (ipStr string ) error {
4342 ip , err := util .ParseIP (ipStr )
4443 if err != nil {
45- log . Fatalf ("Invalid ip: %v " , err )
44+ return fmt . Errorf ("Invalid ip: %w " , err )
4645 }
4746 vpc , vpcAttachment , err := util .ExtractVPCFromSRv6Endpoint (ip )
4847 if err != nil {
49- log . Fatalf ("could not extract SRv6 endpoint: %v " , err )
48+ return fmt . Errorf ("could not extract SRv6 endpoint: %w " , err )
5049 }
5150 vpc , err = ToBase62 (vpc )
5251 if err != nil {
53- log . Fatalf ("Invalid vpc: %v " , err )
52+ return fmt . Errorf ("Invalid vpc: %w " , err )
5453 }
5554 vpcAttachment , err = ToBase62 (vpcAttachment )
5655 if err != nil {
57- log . Fatalf ("Invalid vpcattachment: %v " , err )
56+ return fmt . Errorf ("Invalid vpcattachment: %w " , err )
5857 }
5958
6059 if err := routeingress .Delete (netlink .NewIPNet (ip ), vpc , vpcAttachment ); err != nil {
61- log . Fatalf ("routeingress delete failed: %v " , err )
60+ return fmt . Errorf ("routeingress delete failed: %w " , err )
6261 }
6362 return nil
6463}
6564
6665func RouteEgressAdd (prefixStr , srcStr string , segmentsStr []string ) error {
6766 prefix , err := netlink .ParseIPNet (prefixStr )
6867 if err != nil {
69- log . Fatalf ("Invalid prefix: %v " , err )
68+ return fmt . Errorf ("Invalid prefix: %w " , err )
7069 }
7170 src , err := util .ParseIP (srcStr )
7271 if err != nil {
73- log . Fatalf ("Invalid src: %v " , err )
72+ return fmt . Errorf ("Invalid src: %w " , err )
7473 }
7574 segments , err := ParseSegments (segmentsStr )
7675 if err != nil {
77- log . Fatalf ("Invalid segments: %v " , err )
76+ return fmt . Errorf ("Invalid segments: %w " , err )
7877 }
7978
8079 vpc , vpcAttachment , err := util .ExtractVPCFromSRv6Endpoint (src )
8180 if err != nil {
82- log . Fatalf ("could not extract SRv6 endpoint: %v " , err )
81+ return fmt . Errorf ("could not extract SRv6 endpoint: %w " , err )
8382 }
8483 vpc , err = ToBase62 (vpc )
8584 if err != nil {
86- log . Fatalf ("Invalid vpc: %v " , err )
85+ return fmt . Errorf ("Invalid vpc: %w " , err )
8786 }
8887 vpcAttachment , err = ToBase62 (vpcAttachment )
8988 if err != nil {
90- log . Fatalf ("Invalid vpcattachment: %v " , err )
89+ return fmt . Errorf ("Invalid vpcattachment: %w " , err )
9190 }
9291
9392 if IsHost (prefix ) {
9493 if err := neighborproxy .Add (prefix , vpc , vpcAttachment ); err != nil {
95- log . Fatalf ("neighborproxy add failed: %v " , err )
94+ return fmt . Errorf ("neighborproxy add failed: %w " , err )
9695 }
9796 }
9897 if err := routeegress .Add (vpc , vpcAttachment , prefix , segments ); err != nil {
99- log . Fatalf ("routeegress add failed: %v " , err )
98+ return fmt . Errorf ("routeegress add failed: %w " , err )
10099 }
101100 return nil
102101}
103102
104103func RouteEgressDel (prefixStr , srcStr string , segmentsStr []string ) error {
105104 prefix , err := netlink .ParseIPNet (prefixStr )
106105 if err != nil {
107- log . Fatalf ("Invalid prefix: %v " , err )
106+ return fmt . Errorf ("Invalid prefix: %w " , err )
108107 }
109108 src , err := util .ParseIP (srcStr )
110109 if err != nil {
111- log . Fatalf ("Invalid src: %v " , err )
110+ return fmt . Errorf ("Invalid src: %w " , err )
112111 }
113112 segments , err := ParseSegments (segmentsStr )
114113 if err != nil {
115- log . Fatalf ("Invalid segments: %v " , err )
114+ return fmt . Errorf ("Invalid segments: %w " , err )
116115 }
117116
118117 vpc , vpcAttachment , err := util .ExtractVPCFromSRv6Endpoint (src )
119118 if err != nil {
120- log . Fatalf ("could not extract SRv6 endpoint: %v " , err )
119+ return fmt . Errorf ("could not extract SRv6 endpoint: %w " , err )
121120 }
122121 vpc , err = ToBase62 (vpc )
123122 if err != nil {
124- log . Fatalf ("Invalid vpc: %v " , err )
123+ return fmt . Errorf ("Invalid vpc: %w " , err )
125124 }
126125 vpcAttachment , err = ToBase62 (vpcAttachment )
127126 if err != nil {
128- log . Fatalf ("Invalid vpcattachment: %v " , err )
127+ return fmt . Errorf ("Invalid vpcattachment: %w " , err )
129128 }
130129
131130 if IsHost (prefix ) {
132131 if err := neighborproxy .Delete (prefix , vpc , vpcAttachment ); err != nil {
133- log . Fatalf ("neighborproxy delete failed: %v " , err )
132+ return fmt . Errorf ("neighborproxy delete failed: %w " , err )
134133 }
135134 }
136135 if err := routeegress .Delete (vpc , vpcAttachment , prefix , segments ); err != nil {
137- log . Fatalf ("routeegress delete failed: %v " , err )
136+ return fmt . Errorf ("routeegress delete failed: %w " , err )
138137 }
139138 return nil
140139}
0 commit comments