iplink: accept shorthands for "address" keyword here:
"ip link set address 00:11:22:33:44:55" ifupdown: use "addr" instead of "address"
This commit is contained in:
parent
64974793b9
commit
44d5dcebc6
@ -349,7 +349,7 @@ static int static_up6(struct interface_defn_t *ifd, execfn *exec)
|
|||||||
int result;
|
int result;
|
||||||
#if ENABLE_FEATURE_IFUPDOWN_IP
|
#if ENABLE_FEATURE_IFUPDOWN_IP
|
||||||
result = execute("ip addr add %address%/%netmask% dev %iface%[[ label %label%]]", ifd, exec);
|
result = execute("ip addr add %address%/%netmask% dev %iface%[[ label %label%]]", ifd, exec);
|
||||||
result += execute("ip link set[[ mtu %mtu%]][[ address %hwaddress%]] %iface% up", ifd, exec);
|
result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec);
|
||||||
/* Was: "[[ ip ....%gateway% ]]". Removed extra spaces w/o checking */
|
/* Was: "[[ ip ....%gateway% ]]". Removed extra spaces w/o checking */
|
||||||
result += execute("[[ip route add ::/0 via %gateway%]]", ifd, exec);
|
result += execute("[[ip route add ::/0 via %gateway%]]", ifd, exec);
|
||||||
#else
|
#else
|
||||||
@ -433,7 +433,7 @@ static int static_up(struct interface_defn_t *ifd, execfn *exec)
|
|||||||
#if ENABLE_FEATURE_IFUPDOWN_IP
|
#if ENABLE_FEATURE_IFUPDOWN_IP
|
||||||
result = execute("ip addr add %address%/%bnmask%[[ broadcast %broadcast%]] "
|
result = execute("ip addr add %address%/%bnmask%[[ broadcast %broadcast%]] "
|
||||||
"dev %iface%[[ peer %pointopoint%]][[ label %label%]]", ifd, exec);
|
"dev %iface%[[ peer %pointopoint%]][[ label %label%]]", ifd, exec);
|
||||||
result += execute("ip link set[[ mtu %mtu%]][[ address %hwaddress%]] %iface% up", ifd, exec);
|
result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec);
|
||||||
result += execute("[[ip route add default via %gateway% dev %iface%]]", ifd, exec);
|
result += execute("[[ip route add default via %gateway% dev %iface%]]", ifd, exec);
|
||||||
return ((result == 3) ? 3 : 0);
|
return ((result == 3) ? 3 : 0);
|
||||||
#else
|
#else
|
||||||
@ -500,7 +500,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
|
|||||||
unsigned i;
|
unsigned i;
|
||||||
#if ENABLE_FEATURE_IFUPDOWN_IP
|
#if ENABLE_FEATURE_IFUPDOWN_IP
|
||||||
/* ip doesn't up iface when it configures it (unlike ifconfig) */
|
/* ip doesn't up iface when it configures it (unlike ifconfig) */
|
||||||
if (!execute("ip link set[[ address %hwaddress%]] %iface% up", ifd, exec))
|
if (!execute("ip link set[[ addr %hwaddress%]] %iface% up", ifd, exec))
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
/* needed if we have hwaddress on dhcp iface */
|
/* needed if we have hwaddress on dhcp iface */
|
||||||
@ -519,7 +519,7 @@ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
|
|||||||
{
|
{
|
||||||
#if ENABLE_FEATURE_IFUPDOWN_IP
|
#if ENABLE_FEATURE_IFUPDOWN_IP
|
||||||
/* ip doesn't up iface when it configures it (unlike ifconfig) */
|
/* ip doesn't up iface when it configures it (unlike ifconfig) */
|
||||||
if (!execute("ip link set[[ address %hwaddress%]] %iface% up", ifd, exec))
|
if (!execute("ip link set[[ addr %hwaddress%]] %iface% up", ifd, exec))
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
/* needed if we have hwaddress on dhcp iface */
|
/* needed if we have hwaddress on dhcp iface */
|
||||||
|
@ -174,15 +174,18 @@ static int do_set(char **argv)
|
|||||||
char *newname = NULL;
|
char *newname = NULL;
|
||||||
int htype, halen;
|
int htype, halen;
|
||||||
static const char keywords[] ALIGN1 =
|
static const char keywords[] ALIGN1 =
|
||||||
"up\0""down\0""name\0""mtu\0""multicast\0""arp\0""address\0""dev\0";
|
"up\0""down\0""name\0""mtu\0""multicast\0"
|
||||||
enum { ARG_up = 0, ARG_down, ARG_name, ARG_mtu, ARG_multicast, ARG_arp,
|
"arp\0""address\0""dev\0";
|
||||||
ARG_addr, ARG_dev };
|
enum { ARG_up = 0, ARG_down, ARG_name, ARG_mtu, ARG_multicast,
|
||||||
|
ARG_arp, ARG_addr, ARG_dev };
|
||||||
static const char str_on_off[] ALIGN1 = "on\0""off\0";
|
static const char str_on_off[] ALIGN1 = "on\0""off\0";
|
||||||
enum { PARM_on = 0, PARM_off };
|
enum { PARM_on = 0, PARM_off };
|
||||||
smalluint key;
|
smalluint key;
|
||||||
|
|
||||||
while (*argv) {
|
while (*argv) {
|
||||||
key = index_in_strings(keywords, *argv);
|
/* substring search ensures that e.g. "addr" and "address"
|
||||||
|
* are both accepted */
|
||||||
|
key = index_in_substrings(keywords, *argv);
|
||||||
if (key == ARG_up) {
|
if (key == ARG_up) {
|
||||||
mask |= IFF_UP;
|
mask |= IFF_UP;
|
||||||
flags |= IFF_UP;
|
flags |= IFF_UP;
|
||||||
|
Loading…
Reference in New Issue
Block a user