shell: sc_netif: show and manipulate router related flags
This commit is contained in:
parent
7af2a62b12
commit
4366d9d29c
@ -103,7 +103,7 @@ static void _hl_usage(char *cmd_name)
|
||||
|
||||
static void _flag_usage(char *cmd_name)
|
||||
{
|
||||
printf("usage: %s <if_id> [-]{promisc|autoack|csma|autocca|preload|iphc}\n", cmd_name);
|
||||
printf("usage: %s <if_id> [-]{promisc|autoack|csma|autocca|preload|iphc|rtr_adv}\n", cmd_name);
|
||||
}
|
||||
|
||||
static void _add_usage(char *cmd_name)
|
||||
@ -315,10 +315,16 @@ static void _netif_list(kernel_pid_t dev)
|
||||
#ifdef MODULE_GNRC_IPV6_NETIF
|
||||
if (entry != NULL) {
|
||||
printf("MTU:%" PRIu16 " ", entry->mtu);
|
||||
printf("HL:%" PRIu8 " ", entry->cur_hl);
|
||||
printf("HL:%" PRIu8 " ", entry->cur_hl);
|
||||
if (entry->flags & GNRC_IPV6_NETIF_FLAGS_SIXLOWPAN) {
|
||||
printf("6LO ");
|
||||
}
|
||||
if (entry->flags & GNRC_IPV6_NETIF_FLAGS_ROUTER) {
|
||||
printf("RTR ");
|
||||
}
|
||||
if (entry->flags & GNRC_IPV6_NETIF_FLAGS_RTR_ADV) {
|
||||
printf("RTR_ADV ");
|
||||
}
|
||||
linebreak = true;
|
||||
|
||||
}
|
||||
@ -633,6 +639,30 @@ static int _netif_flag(char *cmd, kernel_pid_t dev, char *flag)
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
else if (strcmp(flag, "rtr_adv") == 0) {
|
||||
#if defined(MODULE_GNRC_NDP_ROUTER) || defined(MODULE_GNRC_SIXLOWPAN_ND_ROUTER)
|
||||
gnrc_ipv6_netif_t *entry = gnrc_ipv6_netif_get(dev);
|
||||
|
||||
if (entry == NULL) {
|
||||
puts("error: unable to (un)set router advertisement flag.");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (set) {
|
||||
gnrc_ipv6_netif_set_rtr_adv(entry, true);
|
||||
printf("success: enable router advertisements on interface %" PRIkernel_pid "\n", dev);
|
||||
}
|
||||
else {
|
||||
gnrc_ipv6_netif_set_rtr_adv(entry, false);
|
||||
printf("success: disable router advertisements on interface %" PRIkernel_pid "\n",
|
||||
dev);
|
||||
}
|
||||
return 0;
|
||||
#else
|
||||
puts("error: unable to (un)set router advertisement flag.");
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
_flag_usage(cmd);
|
||||
return 1;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user