- return static_create_state(iface, v4, n_v4, v6, n_v6);
+ if (ps.n_v4 && tb[OPT_GATEWAY]) {
+ if (!inet_pton(AF_INET, tb[OPT_GATEWAY]->v.string, &ps.ipv4gw)) {
+ error = "INVALID_GATEWAY";
+ goto error;
+ }
+ ps.flags |= STATIC_F_IPV4GW;
+ }
+
+ if (ps.n_v6 && tb[OPT_IP6GW]) {
+ if (!inet_pton(AF_INET6, tb[OPT_IP6GW]->v.string, &ps.ipv6gw)) {
+ error = "INVALID_GATEWAY";
+ goto error;
+ }
+ ps.flags |= STATIC_F_IPV6GW;
+ }
+
+ return static_create_state(iface, &ps);