Changeset 36282


Ignore:
Timestamp:
2013-04-09T16:19:05+02:00 (5 years ago)
Author:
blogic
Message:

[swconfig] add "swconfig list" support

Signed-off-by: John Crispin <blogic@…>

Location:
trunk/package/network/config/swconfig/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/network/config/swconfig/src/cli.c

    r33830 r36282  
    168168print_usage(void) 
    169169{ 
     170        printf("swconfig list\n"); 
    170171        printf("swconfig dev <dev> [port <port>|vlan <vlan>] (help|set <key> <value>|get <key>|load <config>|show)\n"); 
    171172        exit(1); 
     
    214215        char *ckey = NULL; 
    215216        char *cvalue = NULL; 
     217 
     218        if((argc == 2) && !strcmp(argv[1], "list")) { 
     219                swlib_list(); 
     220                return 0; 
     221        } 
    216222 
    217223        if(argc < 4) 
  • trunk/package/network/config/swconfig/src/swlib.c

    r33830 r36282  
    625625} 
    626626 
     627static int 
     628list_switch(struct nl_msg *msg, void *arg) 
     629{ 
     630        struct swlib_scan_arg *sa = arg; 
     631        struct genlmsghdr *gnlh = nlmsg_data(nlmsg_hdr(msg)); 
     632        struct switch_dev *dev; 
     633        const char *name; 
     634        const char *alias; 
     635 
     636        if (nla_parse(tb, SWITCH_ATTR_MAX, genlmsg_attrdata(gnlh, 0), genlmsg_attrlen(gnlh, 0), NULL) < 0) 
     637                goto done; 
     638 
     639        if (!tb[SWITCH_ATTR_DEV_NAME] || !tb[SWITCH_ATTR_NAME]) 
     640                goto done; 
     641 
     642        printf("Found: %s - %s\n", nla_get_string(tb[SWITCH_ATTR_DEV_NAME]), 
     643                nla_get_string(tb[SWITCH_ATTR_ALIAS])); 
     644 
     645done: 
     646        return NL_SKIP; 
     647} 
     648 
     649void 
     650swlib_list(void) 
     651{ 
     652        if (swlib_priv_init() < 0) 
     653                return; 
     654        swlib_call(SWITCH_CMD_GET_SWITCH, list_switch, NULL, NULL); 
     655        swlib_priv_free(); 
     656} 
    627657 
    628658struct switch_dev * 
  • trunk/package/network/config/swconfig/src/swlib.h

    r33830 r36282  
    156156 
    157157/** 
     158 * swlib_list: list all switches 
     159 */ 
     160void swlib_list(void); 
     161 
     162/** 
    158163 * swlib_connect: connect to the switch through netlink 
    159164 * @name: name of the ethernet interface, 
Note: See TracChangeset for help on using the changeset viewer.