diff options
author | Catalin Iova <Catalin.Iova@enea.com> | 2021-07-27 17:22:53 +0200 |
---|---|---|
committer | Catalin Iova <Catalin.Iova@enea.com> | 2021-08-02 10:40:53 +0200 |
commit | edeb8501e61d162d6e57ee629ab6159e7f834929 (patch) | |
tree | e69347807cd95dbcaadd53433091309a45b9ac1f /recipes-connectivity/connman/connman | |
parent | 760903658efd771ee89809f38b9a45878e652dc3 (diff) | |
download | meta-nfv-access-common-master.tar.gz |
recipes: hardcode recipes sw versionHEADmasterfeature_CPDX-3679feature_CPDX-3627feature_CPDX-3605feature_CPDX-3562feature_CPDX-3552feature_CPDX-3263developdemo_CPDX-3644demo_CPDX-3634custom_CPDX-3622
hardcode sw version for some recipes
Change-Id: I396fcf119baa604b52e11037c707d6f9fe7fb507
Signed-off-by: Catalin Iova <Catalin.Iova@enea.com>
Diffstat (limited to 'recipes-connectivity/connman/connman')
-rw-r--r-- | recipes-connectivity/connman/connman/0001-added-noipconfig-option.patch | 353 | ||||
-rw-r--r-- | recipes-connectivity/connman/connman/connman.patch | 18 |
2 files changed, 0 insertions, 371 deletions
diff --git a/recipes-connectivity/connman/connman/0001-added-noipconfig-option.patch b/recipes-connectivity/connman/connman/0001-added-noipconfig-option.patch deleted file mode 100644 index d86b778..0000000 --- a/recipes-connectivity/connman/connman/0001-added-noipconfig-option.patch +++ /dev/null | |||
@@ -1,353 +0,0 @@ | |||
1 | Disabling interface index for desired interfaces so that all methods dealing | ||
2 | with those indexes (ifup, ifdown, new route, new gateway, etc.) will exit | ||
3 | immediately. This is obtained through a new option called "noipconfig". | ||
4 | Helpful when dealing with NFS dhcp method like: | ||
5 | root=/dev/nfs rw nfsroot=172.21.3.8:/unix/enea_linux_rootfs/user/p2041rdb \ | ||
6 | ip=dhcp console=ttyS0,115200 memmap=16M$0xf7000000 \ | ||
7 | mem=4080M max_addr=f6ffffff | ||
8 | |||
9 | This ports the https://www.cvg.de/people/ensc/0001-added-noipconfig-option.patch | ||
10 | change to connman_1.25. In http://patchwork.openembedded.org/patch/57539/ that | ||
11 | change is considered too intrusive and specific to be upstreamed. | ||
12 | |||
13 | Signed-off-by: George Nita <george.nita@enea.com> | ||
14 | Upstream-Status: Not Applicable | ||
15 | |||
16 | |||
17 | diff --git a/src/connman.h b/src/connman.h | ||
18 | index db6461f..8f4f4d0 100644 | ||
19 | --- a/src/connman.h | ||
20 | +++ b/src/connman.h | ||
21 | @@ -544,7 +544,8 @@ void __connman_technology_notify_regdom_by_device(struct connman_device *device, | ||
22 | |||
23 | #include <connman/device.h> | ||
24 | |||
25 | -int __connman_device_init(const char *device, const char *nodevice); | ||
26 | +int __connman_device_init(const char *device, const char *nodevice, | ||
27 | + const char *noipconfig); | ||
28 | void __connman_device_cleanup(void); | ||
29 | |||
30 | void __connman_device_list(DBusMessageIter *iter, void *user_data); | ||
31 | diff --git a/src/device.c b/src/device.c | ||
32 | index c0683ab..6582c51 100644 | ||
33 | --- a/src/device.c | ||
34 | +++ b/src/device.c | ||
35 | @@ -37,6 +37,7 @@ | ||
36 | static GSList *device_list = NULL; | ||
37 | static gchar **device_filter = NULL; | ||
38 | static gchar **nodevice_filter = NULL; | ||
39 | +static gchar **noipconfig_filter = NULL; | ||
40 | |||
41 | enum connman_pending_type { | ||
42 | PENDING_NONE = 0, | ||
43 | @@ -1314,6 +1315,20 @@ done: | ||
44 | return device; | ||
45 | } | ||
46 | |||
47 | +static bool __connman_device_noipconfig(const char *devname) | ||
48 | +{ | ||
49 | + char **pattern; | ||
50 | + | ||
51 | + for (pattern = noipconfig_filter; *pattern; pattern++) { | ||
52 | + if (g_pattern_match_simple(*pattern, devname) == TRUE) { | ||
53 | + DBG("do not configure device %s", devname); | ||
54 | + return TRUE; | ||
55 | + } | ||
56 | + } | ||
57 | + | ||
58 | + return FALSE; | ||
59 | +} | ||
60 | + | ||
61 | bool __connman_device_isfiltered(const char *devname) | ||
62 | { | ||
63 | char **pattern; | ||
64 | @@ -1403,6 +1418,9 @@ static void cleanup_devices(void) | ||
65 | if (index < 0) | ||
66 | continue; | ||
67 | |||
68 | + if (__connman_device_noipconfig(interfaces[i])) | ||
69 | + __connman_inet_disable_index(index); | ||
70 | + | ||
71 | if (!__connman_inet_get_address_netmask(index, &sin_addr, | ||
72 | &sin_mask)) { | ||
73 | char *address = g_strdup(inet_ntoa(sin_addr.sin_addr)); | ||
74 | @@ -1435,7 +1453,8 @@ static void cleanup_devices(void) | ||
75 | g_strfreev(interfaces); | ||
76 | } | ||
77 | |||
78 | -int __connman_device_init(const char *device, const char *nodevice) | ||
79 | +int __connman_device_init(const char *device, const char *nodevice, | ||
80 | + const char *noipconfig) | ||
81 | { | ||
82 | DBG(""); | ||
83 | |||
84 | @@ -1445,6 +1464,9 @@ int __connman_device_init(const char *device, const char *nodevice) | ||
85 | if (nodevice) | ||
86 | nodevice_filter = g_strsplit(nodevice, ",", -1); | ||
87 | |||
88 | + if (noipconfig != NULL) | ||
89 | + noipconfig_filter = g_strsplit(noipconfig, ",", -1); | ||
90 | + | ||
91 | cleanup_devices(); | ||
92 | |||
93 | return 0; | ||
94 | diff --git a/src/inet.c b/src/inet.c | ||
95 | index fb37143..d1f2c2f 100644 | ||
96 | --- a/src/inet.c | ||
97 | +++ b/src/inet.c | ||
98 | @@ -55,6 +55,45 @@ | ||
99 | ((struct rtattr *) (((uint8_t*) (nmsg)) + \ | ||
100 | NLMSG_ALIGN((nmsg)->nlmsg_len))) | ||
101 | |||
102 | +static GHashTable *g_disabled_indices; | ||
103 | + | ||
104 | +static guint g_intptr_hash(gconstpointer p) | ||
105 | +{ | ||
106 | + uintptr_t v = (uintptr_t)p; | ||
107 | + return g_int_hash(&v); | ||
108 | +} | ||
109 | + | ||
110 | +static gboolean g_intptr_equal(gconstpointer p1, | ||
111 | + gconstpointer p2) | ||
112 | +{ | ||
113 | + uintptr_t v1 = (uintptr_t)p1; | ||
114 | + uintptr_t v2 = (uintptr_t)p2; | ||
115 | + | ||
116 | + return g_int_equal(&v1, &v2); | ||
117 | +} | ||
118 | + | ||
119 | +void __connman_inet_disable_index(int index) | ||
120 | +{ | ||
121 | + connman_info("disabling interface #%d for ipconfig", index); | ||
122 | + | ||
123 | + if (g_disabled_indices == NULL) | ||
124 | + g_disabled_indices = g_hash_table_new_full(g_intptr_hash, | ||
125 | + g_intptr_equal, | ||
126 | + NULL, NULL); | ||
127 | + | ||
128 | + g_hash_table_add(g_disabled_indices, (void *)index); | ||
129 | +} | ||
130 | + | ||
131 | +static bool __connman_inet_is_disabled_index(int index) | ||
132 | +{ | ||
133 | + bool rc; | ||
134 | + | ||
135 | + rc = (g_disabled_indices != NULL && | ||
136 | + g_hash_table_contains(g_disabled_indices, (void *)index)); | ||
137 | + | ||
138 | + return rc; | ||
139 | +} | ||
140 | + | ||
141 | int __connman_inet_rtnl_addattr_l(struct nlmsghdr *n, size_t max_length, | ||
142 | int type, const void *data, size_t data_length) | ||
143 | { | ||
144 | @@ -98,6 +137,11 @@ int __connman_inet_modify_address(int cmd, int flags, | ||
145 | "prefixlen %hhu broadcast %s", cmd, flags, index, family, | ||
146 | address, peer, prefixlen, broadcast); | ||
147 | |||
148 | + if (__connman_inet_is_disabled_index(index)) { | ||
149 | + connman_info("index disabled; skipping %s", __func__); | ||
150 | + return 0; | ||
151 | + } | ||
152 | + | ||
153 | if (!address) | ||
154 | return -EINVAL; | ||
155 | |||
156 | @@ -275,6 +319,11 @@ int connman_inet_ifup(int index) | ||
157 | struct ifreq ifr; | ||
158 | int sk, err; | ||
159 | |||
160 | + if (__connman_inet_is_disabled_index(index)) { | ||
161 | + connman_info("index disabled; skipping %s", __func__); | ||
162 | + return 0; | ||
163 | + } | ||
164 | + | ||
165 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
166 | if (sk < 0) | ||
167 | return -errno; | ||
168 | @@ -318,6 +367,11 @@ int connman_inet_ifdown(int index) | ||
169 | struct sockaddr_in *addr; | ||
170 | int sk, err; | ||
171 | |||
172 | + if (__connman_inet_is_disabled_index(index)) { | ||
173 | + connman_info("index disabled; skipping %s", __func__); | ||
174 | + return 0; | ||
175 | + } | ||
176 | + | ||
177 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
178 | if (sk < 0) | ||
179 | return -errno; | ||
180 | @@ -519,6 +573,11 @@ int connman_inet_add_network_route(int index, const char *host, | ||
181 | DBG("index %d host %s gateway %s netmask %s", index, | ||
182 | host, gateway, netmask); | ||
183 | |||
184 | + if (__connman_inet_is_disabled_index(index)) { | ||
185 | + connman_info("index disabled; skipping %s", __func__); | ||
186 | + return 0; | ||
187 | + } | ||
188 | + | ||
189 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
190 | if (sk < 0) { | ||
191 | err = -errno; | ||
192 | @@ -589,6 +648,11 @@ int connman_inet_del_network_route(int index, const char *host) | ||
193 | |||
194 | DBG("index %d host %s", index, host); | ||
195 | |||
196 | + if (__connman_inet_is_disabled_index(index)) { | ||
197 | + connman_info("index disabled; skipping %s", __func__); | ||
198 | + return 0; | ||
199 | + } | ||
200 | + | ||
201 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
202 | if (sk < 0) { | ||
203 | err = -errno; | ||
204 | @@ -637,6 +701,11 @@ int connman_inet_del_ipv6_network_route(int index, const char *host, | ||
205 | |||
206 | DBG("index %d host %s", index, host); | ||
207 | |||
208 | + if (__connman_inet_is_disabled_index(index)) { | ||
209 | + connman_info("index disabled; skipping %s", __func__); | ||
210 | + return 0; | ||
211 | + } | ||
212 | + | ||
213 | if (!host) | ||
214 | return -EINVAL; | ||
215 | |||
216 | @@ -687,6 +756,11 @@ int connman_inet_add_ipv6_network_route(int index, const char *host, | ||
217 | |||
218 | DBG("index %d host %s gateway %s", index, host, gateway); | ||
219 | |||
220 | + if (__connman_inet_is_disabled_index(index)) { | ||
221 | + connman_info("index disabled; skipping %s", __func__); | ||
222 | + return 0; | ||
223 | + } | ||
224 | + | ||
225 | if (!host) | ||
226 | return -EINVAL; | ||
227 | |||
228 | @@ -741,6 +815,11 @@ int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway) | ||
229 | |||
230 | DBG("index %d gateway %s", index, gateway); | ||
231 | |||
232 | + if (__connman_inet_is_disabled_index(index)) { | ||
233 | + connman_info("index disabled; skipping clear_ipv6_gateway operation"); | ||
234 | + return 0; | ||
235 | + } | ||
236 | + | ||
237 | if (!gateway) | ||
238 | return -EINVAL; | ||
239 | |||
240 | @@ -784,6 +863,11 @@ int connman_inet_set_gateway_interface(int index) | ||
241 | |||
242 | DBG("index %d", index); | ||
243 | |||
244 | + if (__connman_inet_is_disabled_index(index)) { | ||
245 | + connman_info("index disabled; skipping %s", __func__); | ||
246 | + return 0; | ||
247 | + } | ||
248 | + | ||
249 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
250 | if (sk < 0) { | ||
251 | err = -errno; | ||
252 | @@ -837,6 +921,11 @@ int connman_inet_set_ipv6_gateway_interface(int index) | ||
253 | |||
254 | DBG("index %d", index); | ||
255 | |||
256 | + if (__connman_inet_is_disabled_index(index)) { | ||
257 | + connman_info("index disabled; skipping %s", __func__); | ||
258 | + return 0; | ||
259 | + } | ||
260 | + | ||
261 | sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
262 | if (sk < 0) { | ||
263 | err = -errno; | ||
264 | @@ -889,6 +978,11 @@ int connman_inet_clear_gateway_address(int index, const char *gateway) | ||
265 | |||
266 | DBG("index %d gateway %s", index, gateway); | ||
267 | |||
268 | + if (__connman_inet_is_disabled_index(index)) { | ||
269 | + connman_info("index disabled; skipping %s", __func__); | ||
270 | + return 0; | ||
271 | + } | ||
272 | + | ||
273 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
274 | if (sk < 0) { | ||
275 | err = -errno; | ||
276 | @@ -946,6 +1040,11 @@ int connman_inet_clear_gateway_interface(int index) | ||
277 | |||
278 | DBG("index %d", index); | ||
279 | |||
280 | + if (__connman_inet_is_disabled_index(index)) { | ||
281 | + connman_info("index disabled; skipping %s", __func__); | ||
282 | + return 0; | ||
283 | + } | ||
284 | + | ||
285 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
286 | if (sk < 0) { | ||
287 | err = -errno; | ||
288 | @@ -999,6 +1098,11 @@ int connman_inet_clear_ipv6_gateway_interface(int index) | ||
289 | |||
290 | DBG("index %d", index); | ||
291 | |||
292 | + if (__connman_inet_is_disabled_index(index)) { | ||
293 | + connman_info("index disabled; skipping %s", __func__); | ||
294 | + return 0; | ||
295 | + } | ||
296 | + | ||
297 | sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
298 | if (sk < 0) { | ||
299 | err = -errno; | ||
300 | @@ -1059,6 +1163,11 @@ bool connman_inet_compare_subnet(int index, const char *host) | ||
301 | return -1; | ||
302 | host_addr = _host_addr.s_addr; | ||
303 | |||
304 | + if (__connman_inet_is_disabled_index(index)) { | ||
305 | + connman_info("index disabled; skipping %s", __func__); | ||
306 | + return 0; | ||
307 | + } | ||
308 | + | ||
309 | sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
310 | if (sk < 0) | ||
311 | return false; | ||
312 | @@ -1159,6 +1268,11 @@ int connman_inet_set_mtu(int index, int mtu) | ||
313 | struct ifreq ifr; | ||
314 | int sk, err; | ||
315 | |||
316 | + if (__connman_inet_is_disabled_index(index)) { | ||
317 | + connman_info("index disabled; skipping %s", __func__); | ||
318 | + return 0; | ||
319 | + } | ||
320 | + | ||
321 | sk = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); | ||
322 | if (sk < 0) | ||
323 | return sk; | ||
324 | diff --git a/src/main.c b/src/main.c | ||
325 | index 7cf6c9a..e06f25c 100644 | ||
326 | --- a/src/main.c | ||
327 | +++ b/src/main.c | ||
328 | @@ -453,6 +453,7 @@ static gchar *option_debug = NULL; | ||
329 | static gchar *option_device = NULL; | ||
330 | static gchar *option_plugin = NULL; | ||
331 | static gchar *option_nodevice = NULL; | ||
332 | +static gchar *option_noipconfig = NULL; | ||
333 | static gchar *option_noplugin = NULL; | ||
334 | static gchar *option_wifi = NULL; | ||
335 | static gboolean option_detach = TRUE; | ||
336 | @@ -482,6 +483,8 @@ static GOptionEntry options[] = { | ||
337 | "Specify networking device or interface", "DEV" }, | ||
338 | { "nodevice", 'I', 0, G_OPTION_ARG_STRING, &option_nodevice, | ||
339 | "Specify networking interface to ignore", "DEV" }, | ||
340 | + { "noipconfig", 0, 0, G_OPTION_ARG_STRING, &option_noipconfig, | ||
341 | + "Specify networking interface which shall not be configured", "DEV" }, | ||
342 | { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, | ||
343 | "Specify plugins to load", "NAME,..." }, | ||
344 | { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, | ||
345 | @@ -648,7 +651,7 @@ int main(int argc, char *argv[]) | ||
346 | __connman_provider_init(); | ||
347 | __connman_network_init(); | ||
348 | __connman_config_init(); | ||
349 | - __connman_device_init(option_device, option_nodevice); | ||
350 | + __connman_device_init(option_device, option_nodevice, option_noipconfig); | ||
351 | |||
352 | __connman_ippool_init(); | ||
353 | __connman_iptables_init(); | ||
diff --git a/recipes-connectivity/connman/connman/connman.patch b/recipes-connectivity/connman/connman/connman.patch deleted file mode 100644 index e3ff2f9..0000000 --- a/recipes-connectivity/connman/connman/connman.patch +++ /dev/null | |||
@@ -1,18 +0,0 @@ | |||
1 | --- ./connman.orig 2016-01-28 17:03:08.000315610 +0100 | ||
2 | +++ ./connman 2016-01-28 17:05:24.393956927 +0100 | ||
3 | @@ -36,13 +36,13 @@ do_start() { | ||
4 | if [ "$NET_ADDR" = dhcp ]; then | ||
5 | ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"` | ||
6 | if [ ! -z "$ethn" ]; then | ||
7 | - EXTRA_PARAM="-I $ethn" | ||
8 | + EXTRA_PARAM="--noipconfig $ethn" | ||
9 | fi | ||
10 | else | ||
11 | for i in $NET_DEVS; do | ||
12 | ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` | ||
13 | if [ "$NET_ADDR" = "$ADDR" ]; then | ||
14 | - EXTRA_PARAM="-I $i" | ||
15 | + EXTRA_PARAM="--noipconfig $i" | ||
16 | break | ||
17 | fi | ||
18 | done | ||