Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
dcbd
dcbd-0.7.35rt_to_0.9.2.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dcbd-0.7.35rt_to_0.9.2.patch of Package dcbd
diff -pur dcbd-0.7.35rt/clif_cmds.c dcbd-0.9.2/clif_cmds.c --- dcbd-0.7.35rt/clif_cmds.c 2008-11-20 11:36:25.000000000 -0800 +++ dcbd-0.9.2/clif_cmds.c 2008-12-02 17:36:20.000000000 -0800 @@ -345,7 +345,7 @@ void process_clif_cmd( struct dcbd_data *rlen = strlen(rbuf); } -int handle_dcbx_cmd(u8 cmd, u8 feature, u8 subtype, +static int handle_dcbx_cmd(u8 cmd, u8 feature, u8 subtype, char *ibuf, int ilen, char *rbuf) { @@ -406,7 +406,6 @@ int clif_iface_dcb_cmd(struct dcbd_data if (ilen < DCB_PORT_OFF) return dcb_invalid_cmd; - if (ibuf[DCB_VER_OFF] != (CLIF_MSG_VERSION | 0x30)) { printf("unsupported client interface message version %x\n", ibuf[DCB_VER_OFF]); @@ -655,7 +654,6 @@ int clif_iface_dcb_cmd(struct dcbd_data default: break; } - return status; } @@ -768,7 +766,7 @@ static int get_app_data(app_attribs *app u32 subtype, int dcbx_st, char *rbuf) { int status; - int i; + unsigned int i; switch (cmd) { case CMD_GET_CONFIG: /* already have the data object */ @@ -1371,7 +1369,7 @@ void pfc_event(char *dn, u32 events) if (snprintf(ebuf, sizeof(ebuf), "%01x%02x%s%02x00%1x%1x", CLIF_EV_VERSION, (unsigned int)strlen(dn), dn, FEATURE_PFC, !!(events & EVENT_OPERMODE), - !!(events & EVENT_OPERATTR)) < sizeof(ebuf)) + !!(events & EVENT_OPERATTR)) < (int)sizeof(ebuf)) send_event(MSG_DCB, ebuf); } @@ -1382,7 +1380,7 @@ void pg_event(char *dn, u32 events) if (snprintf(ebuf, sizeof(ebuf), "%01x%02x%s%02x00%1x%1x", CLIF_EV_VERSION, (unsigned int)strlen(dn), dn, FEATURE_PG, !!(events & EVENT_OPERMODE), - !!(events & EVENT_OPERATTR)) < sizeof(ebuf)) + !!(events & EVENT_OPERATTR)) < (int)sizeof(ebuf)) send_event(MSG_DCB, ebuf); } @@ -1394,7 +1392,7 @@ void app_event(char *dn, u32 subtype, u3 CLIF_EV_VERSION, (unsigned int)strlen(dn), dn, FEATURE_APP, subtype, !!(events & EVENT_OPERMODE), - !!(events & EVENT_OPERATTR)) < sizeof(ebuf)) + !!(events & EVENT_OPERATTR)) < (int)sizeof(ebuf)) send_event(MSG_DCB, ebuf); } @@ -1406,7 +1404,7 @@ void llink_event(char *dn, u32 subtype, CLIF_EV_VERSION, (unsigned int)strlen(dn), dn, FEATURE_LLINK, subtype, !!(events & EVENT_OPERMODE), - !!(events & EVENT_OPERATTR)) < sizeof(ebuf)) + !!(events & EVENT_OPERATTR)) < (int)sizeof(ebuf)) send_event(MSG_DCB, ebuf); } @@ -1419,6 +1417,6 @@ void bcn_event(char *dn, u32 events) if (snprintf(ebuf, sizeof(ebuf), "%01x%02x%s%02x00%1x%1x", CLIF_EV_VERSION, (unsigned int)strlen(dn), dn, FEATURE_BCN, !!(events & EVENT_OPERMODE), - !!(events & EVENT_OPERATTR)) < sizeof(ebuf)) + !!(events & EVENT_OPERATTR)) < (int)sizeof(ebuf)) send_event(MSG_DCB, ebuf); } diff -pur dcbd-0.7.35rt/config.c dcbd-0.9.2/config.c --- dcbd-0.7.35rt/config.c 2008-11-20 11:36:27.000000000 -0800 +++ dcbd-0.9.2/config.c 2008-12-02 17:36:21.000000000 -0800 @@ -72,8 +72,6 @@ int init_cfg(void) { config_setting_t *root; - config_init(&dcb_cfg); - if (!config_read_file(&dcb_cfg, cfg_file_name)) { TRACE("config file failed to load\n") TRACE2("error: ", config_error_text(&dcb_cfg)) @@ -146,7 +144,7 @@ static int check_link_status(char *ifnam { u32 cmd ; u32 data; - } linkstatus = { ETHTOOL_GLINK }; + } linkstatus = { ETHTOOL_GLINK, 0}; fd = socket(PF_INET, SOCK_DGRAM, 0); @@ -436,8 +434,7 @@ static dcb_result _set_persistent(char * config_setting_t *setting_value = NULL; char abuf[2*DCB_MAX_TLV_LENGTH + 1]; char version[MAX_NAME_LEN]; - dcb_result result; - int i; + int result, i; if (!init_cfg()) goto set_error; @@ -778,7 +775,7 @@ static dcb_result _set_persistent(char * memset(abuf, 0, sizeof(abuf)); setting_value = config_setting_get_member(setting, "app_cfg"); if (setting_value) { - for (i = 0; i < app->Length; i++) + for (i = 0; i < (int)app->Length; i++) sprintf(abuf+2*i, "%02x", app->AppData[i]); if (!config_setting_set_string(setting_value, abuf)) goto set_error; @@ -1233,7 +1230,6 @@ static int get_double_config(config_sett dcb_result get_persistent(char *device_name, full_dcb_attribs *attribs) { - char *app_cfg_hex; config_setting_t *eth_settings = NULL; config_setting_t *setting = NULL; config_setting_t *setting_array = NULL; @@ -1241,7 +1237,6 @@ dcb_result get_persistent(char *device_n config_setting_t *setting_value = NULL; int result = dcb_failed, i; int results[MAX_USER_PRIORITIES]; - char *bwg_descp = NULL; char version[MAX_NAME_LEN]; int len; char abuf[32]; @@ -1440,7 +1435,7 @@ dcb_result get_persistent(char *device_n } else { for (i = 0; i < config_setting_length(setting); i++) { setting_array = config_setting_get_elem(setting, i); - bwg_descp = (char *) + const char *bwg_descp = config_setting_get_string(setting_array); if (bwg_descp) strncpy(attribs->descript.pgid_desc[i], @@ -1484,8 +1479,8 @@ dcb_result get_persistent(char *device_n setting_value = config_setting_get_member(setting, "app_cfg"); if (setting_value) { - app_cfg_hex = - (char*)config_setting_get_string(setting_value); + const char *app_cfg_hex = + config_setting_get_string(setting_value); len = strlen(app_cfg_hex); if (len % 2 || len > DCB_MAX_TLV_LENGTH) { log_message(MSG_ERR_DCB_INVALID_CONFIG_FILE, diff -pur dcbd-0.7.35rt/ctrl_iface.c dcbd-0.9.2/ctrl_iface.c --- dcbd-0.7.35rt/ctrl_iface.c 2008-11-20 11:36:25.000000000 -0800 +++ dcbd-0.9.2/ctrl_iface.c 2008-12-02 17:36:20.000000000 -0800 @@ -57,7 +57,6 @@ int clif_iface_cmd_unknown(struct dcbd_d char *ibuf, int ilen, char *rbuf) { - return 1; } diff -pur dcbd-0.7.35rt/dcbd.c dcbd-0.9.2/dcbd.c --- dcbd-0.7.35rt/dcbd.c 2008-11-20 11:36:27.000000000 -0800 +++ dcbd-0.9.2/dcbd.c 2008-12-02 17:36:21.000000000 -0800 @@ -310,10 +310,10 @@ int main(int argc, char *argv[]) eloop_run(); + remove_all_adapters(); ctrl_iface_deinit(dud->dcbdd); /* free's dud->dcbdd */ dcbd_event_iface_deinit(); stop_lldp_agent(); - remove_all_adapters(); free(dud); out: diff -pur dcbd-0.7.35rt/dcbd.spec dcbd-0.9.2/dcbd.spec --- dcbd-0.7.35rt/dcbd.spec 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/dcbd.spec 2008-12-02 17:36:21.000000000 -0800 @@ -1,6 +1,6 @@ Name: dcbd Summary: Intel(R) EEDC Connection -Version: 0.7.35rt +Version: 0.9.2 Release: 1 Source: %{name}-%{version}.tar.gz Vendor: Intel Corporation diff -pur dcbd-0.7.35rt/dcb_protocol.cpp dcbd-0.9.2/dcb_protocol.cpp --- dcbd-0.7.35rt/dcb_protocol.cpp 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/dcb_protocol.cpp 2008-12-02 17:36:21.000000000 -0800 @@ -823,7 +823,7 @@ boolean_t add_adapter(char *device_name) } else { /* big else */ /* Create data stores for the device. */ - + if (!init_dcb_support(device_name, &attribs)) { sResult = dcb_failed; goto add_adapter_error; @@ -1039,18 +1039,23 @@ boolean_t remove_adapter(char *device_na char devName[MAX_DEVICE_NAME_LEN]; /* local copy of device_name */ feature_protocol_attribs *pFP; void *itp = NULL; - - send_oper_events(device_name); + int not_default = 1; /* save device name for remove port */ if (device_name == NULL) { printf("remove_adapter: null device\n"); return FALSE; } + + not_default = memcmp(DEF_CFG_STORE, device_name, + strlen(DEF_CFG_STORE)); + if (not_default) + send_oper_events(device_name); + strncpy (devName, device_name, MAX_DEVICE_NAME_LEN); - if (remove_port(devName) < 0) { + if (not_default && (remove_port(devName) < 0)) { printf("remove_port: failed\n"); return FALSE; } @@ -3280,9 +3285,10 @@ Error: int set_configuration(char *device_name, u32 EventFlag) { TRY_BEGIN; - string dn(device_name); - dcb_result sResult; + string dn(device_name); + dcb_result sResult; full_dcb_attrib_ptrs attr_ptr; + feature_support dcb_support; if (DCB_TEST_FLAGS(EventFlag, DCB_LOCAL_CHANGE_PG, DCB_LOCAL_CHANGE_PG) || @@ -3302,7 +3308,7 @@ int set_configuration(char *device_name, attr_ptr.pg = ((*Oper).second); if ((sResult = dcb_check_config(&attr_ptr)) != dcb_success) { - printf("PG rule check returned error %d\n", + printf(" PG rule check returned error %d\n", sResult); /* Localization OK */ return sResult; } @@ -3316,6 +3322,15 @@ int set_configuration(char *device_name, DCB_TEST_FLAGS(EventFlag, DCB_REMOTE_CHANGE_BCN, DCB_REMOTE_CHANGE_BCN)) { + memset(&dcb_support, 0, sizeof(feature_support)); + if (get_dcb_support(device_name, &dcb_support) != dcb_success) { + return 1; + } + if (!(dcb_support.bcn)) { + printf(" BCN not supported by hardware\n"); + return 0; + } + /* Get Oper store */ bcn_it Oper = oper_bcn.find(dn); bcn_it Local = bcn.find(dn); @@ -3328,7 +3343,7 @@ int set_configuration(char *device_name, attr_ptr.bcn = ((*Oper).second); if ((sResult = dcb_check_config(&attr_ptr)) != dcb_success) { - printf("BCN rule check returned error %d\n", + printf(" BCN rule check returned error %d\n", sResult); /* Localization OK */ return sResult; } diff -pur dcbd-0.7.35rt/dcbtool.c dcbd-0.9.2/dcbtool.c --- dcbd-0.7.35rt/dcbtool.c 2008-11-20 11:36:25.000000000 -0800 +++ dcbd-0.9.2/dcbtool.c 2008-12-02 17:36:20.000000000 -0800 @@ -38,9 +38,6 @@ #include "dcbtool.h" #include "version.h" - -int handle_dcb_cmds(struct clif *clif, int argc, char *argv[], int raw); - static int show_raw; static const char *cli_version = diff -pur dcbd-0.7.35rt/drv_cfg.c dcbd-0.9.2/drv_cfg.c --- dcbd-0.7.35rt/drv_cfg.c 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/drv_cfg.c 2008-12-02 17:36:21.000000000 -0800 @@ -40,7 +40,7 @@ static int nl_sd = 0; static int rtseq = 0; -static int next_rtseq() +static int next_rtseq(void) { return ++rtseq; } @@ -48,7 +48,7 @@ static int next_rtseq() static int init_socket(void) { int sd; - int rcv_size; + int rcv_size = MAX_MSG_SIZE; struct sockaddr_nl snl; sd = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE); @@ -160,7 +160,7 @@ static int send_msg(struct nlmsghdr *nlh return 0; } -static struct nlmsghdr *get_msg(int seq) +static struct nlmsghdr *get_msg(unsigned int seq) { struct nlmsghdr *nlh; int len; @@ -182,7 +182,7 @@ static struct nlmsghdr *get_msg(int seq) nlh = NULL; break; } - if (!(NLMSG_OK(nlh, len))) { + if (!(NLMSG_OK(nlh, (unsigned int)len))) { printf("get_msg: NLMSG_OK is FALSE\n"); free(nlh); nlh = NULL; @@ -210,7 +210,7 @@ static struct nlmsghdr *get_msg(int seq) return nlh; } -static int recv_msg(int cmd, int attr, int seq) +static int recv_msg(int cmd, int attr, unsigned int seq) { struct nlmsghdr *nlh; struct dcbmsg *d; @@ -243,7 +243,7 @@ static int get_state(char *ifname, __u8 struct dcbmsg *d; struct rtattr *rta; int rval = 0; - int seq; + unsigned int seq; nlh = start_msg(RTM_GETDCB, DCB_CMD_GSTATE); if (NULL == nlh) @@ -419,7 +419,7 @@ int get_dcb_capabilities(char *ifname, struct rtattr *rta_parent; struct rtattr *rta_child; int rval = 0; - int seq; + unsigned int seq; int i; u8 cap; @@ -507,7 +507,7 @@ int get_dcb_numtcs(char *ifname, u8 *pgt struct rtattr *rta_parent; struct rtattr *rta_child; int rval = 0; - int seq; + unsigned int seq; int i; int found; @@ -844,7 +844,7 @@ int get_perm_hwaddr(const char *ifname, struct dcbmsg *d; struct rtattr *rta; int rval = 0; - int seq; + unsigned int seq; nlh = start_msg(RTM_GETDCB, DCB_CMD_GPERM_HWADDR); if (NULL==nlh) diff -pur dcbd-0.7.35rt/eloop.c dcbd-0.9.2/eloop.c --- dcbd-0.7.35rt/eloop.c 2008-11-20 11:36:25.000000000 -0800 +++ dcbd-0.9.2/eloop.c 2008-12-02 17:36:20.000000000 -0800 @@ -308,7 +308,8 @@ static void eloop_handle_alarm(int sig) "seconds. Looks like there\n" "is a bug that ends up in a busy loop that " "prevents clean shutdown.\n" - "Killing program forcefully.\n"); + "Killing program forcefully.\n" + "sig is %d.\n", sig); exit(1); } diff -pur dcbd-0.7.35rt/include/event_iface.h dcbd-0.9.2/include/event_iface.h --- dcbd-0.7.35rt/include/event_iface.h 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/include/event_iface.h 2008-12-02 17:36:21.000000000 -0800 @@ -28,8 +28,8 @@ #ifndef _EVENT_IFACE_H_ #define _EVENT_IFACE_H_ -int dcbd_event_iface_init(); -int dcbd_event_iface_deinit(); +int dcbd_event_iface_init(void); +int dcbd_event_iface_deinit(void); void sendto_event_iface(char *buf, int len); diff -pur dcbd-0.7.35rt/include/parse_cli.h dcbd-0.9.2/include/parse_cli.h --- dcbd-0.7.35rt/include/parse_cli.h 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/include/parse_cli.h 2008-12-02 17:36:21.000000000 -0800 @@ -63,7 +63,7 @@ int get_rp_rd(unsigned int *); int get_rp_ru(unsigned int *); int get_rp_wrtt(unsigned int *); int get_rp_ri(unsigned int *); -int get_llstatus(); +int get_llstatus(void); char *get_port(void); void free_port(void); void free_appcfg(void); diff -pur dcbd-0.7.35rt/include/version.h dcbd-0.9.2/include/version.h --- dcbd-0.7.35rt/include/version.h 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/include/version.h 2008-12-02 17:36:21.000000000 -0800 @@ -28,7 +28,7 @@ #ifndef VERSION_H #define VERSION_H -#define VERSION_STR "0.7.35rt" +#define VERSION_STR "0.9.2" #define DCBTOOL_VERSION VERSION_STR #endif /* VERSION_H */ diff -pur dcbd-0.7.35rt/lldp/l2_packet_linux.c dcbd-0.9.2/lldp/l2_packet_linux.c --- dcbd-0.7.35rt/lldp/l2_packet_linux.c 2008-11-20 11:36:26.000000000 -0800 +++ dcbd-0.9.2/lldp/l2_packet_linux.c 2008-12-02 17:36:21.000000000 -0800 @@ -205,7 +205,7 @@ struct l2_packet_data * l2_packet_init( os_free(l2); return NULL; } - int option; + int option = 1; int option_size = sizeof(option); if (setsockopt(l2->fd, SOL_PACKET, PACKET_ORIGDEV, &option, option_size) < 0) { diff -pur dcbd-0.7.35rt/lldp/rx.c dcbd-0.9.2/lldp/rx.c --- dcbd-0.7.35rt/lldp/rx.c 2008-11-20 11:36:27.000000000 -0800 +++ dcbd-0.9.2/lldp/rx.c 2008-12-02 17:36:21.000000000 -0800 @@ -1468,6 +1468,7 @@ boolean_t process_dcbx_bcn_tlv(struct po [DCBX_BCN_RPW_OFFSET]; cfg->rp_rd = port->rx.manifest->dcbx_bcn->info [DCBX_BCN_RPRD_OFFSET]; + cfg->rp_ru = DEF_BCN_RATE_UNIT; // needed to pass bcn rule checking put_peer_bcn(port->ifname, &peer_bcn); return(TRUE); diff -pur dcbd-0.7.35rt/nltest.c dcbd-0.9.2/nltest.c --- dcbd-0.7.35rt/nltest.c 2008-11-20 11:36:25.000000000 -0800 +++ dcbd-0.9.2/nltest.c 2008-12-02 17:36:20.000000000 -0800 @@ -31,7 +31,8 @@ #define MAX_ADDR_LEN 32 /* instead of including linux/netdevice.h */ -void hexprint(char *b, int len) +#ifdef HEXDUMP +static void hexprint(char *b, int len) { int i; @@ -41,6 +42,7 @@ void hexprint(char *b, int len) } printf("\n\n"); } +#endif static int init_socket(void) { @@ -164,7 +166,7 @@ static struct nlmsghdr *get_msg(void) len = recv(nl_sd, (void *)nlh, MAX_MSG_SIZE, 0); if ((nlh->nlmsg_type == NLMSG_ERROR) || (len < 0) || - !(NLMSG_OK(nlh, len))) { + !(NLMSG_OK(nlh, (unsigned int)len))) { free(nlh); #ifdef HEXDUMP printf("RECEIVE FAILED: %d\n", len); @@ -751,19 +753,23 @@ static int get_bcn(char *ifname, bcn_cfg } } - bcn_data->rp_alpha = *(__u64 *)NLA_DATA(rta_child); + memcpy((void *)&bcn_data->rp_alpha, (__u32 *)NLA_DATA(rta_child), + sizeof(__u32)); rta_child = (struct rtattr *)((char *)rta_child + NLMSG_ALIGN(rta_child->rta_len)); - bcn_data->rp_beta = *(__u64 *)NLA_DATA(rta_child); + memcpy((void *)&bcn_data->rp_beta, (__u32 *)NLA_DATA(rta_child), + sizeof(__u32)); rta_child = (struct rtattr *)((char *)rta_child + NLMSG_ALIGN(rta_child->rta_len)); - bcn_data->rp_gd = *(__u64 *)NLA_DATA(rta_child); + memcpy((void *)&bcn_data->rp_gd, (__u32 *)NLA_DATA(rta_child), + sizeof(__u32)); rta_child = (struct rtattr *)((char *)rta_child + NLMSG_ALIGN(rta_child->rta_len)); - bcn_data->rp_gi = *(__u64 *)NLA_DATA(rta_child); + memcpy((void *)&bcn_data->rp_gi, (__u32 *)NLA_DATA(rta_child), + sizeof(__u32)); rta_child = (struct rtattr *)((char *)rta_child + NLMSG_ALIGN(rta_child->rta_len)); @@ -907,7 +913,7 @@ static int set_bcn_cfg(char *ifname, bcn return(recv_msg(DCB_CMD_BCN_SCFG, DCB_ATTR_BCN)); } -int set_hw_bcn(char *device_name, bcn_cfg *bcn_data, +static int set_hw_bcn(char *device_name, bcn_cfg *bcn_data, __u8 oper_mode) { int i; @@ -930,7 +936,7 @@ int set_hw_bcn(char *device_name, bcn_cf bcn_data->rp_w = 9; bcn_data->rp_rd = 1; bcn_data->rp_ru = 1; - bcn_data->rp_ri = 5000; + bcn_data->rp_ri = 5001; bcn_data->rp_wrtt = 9; } diff -pur dcbd-0.7.35rt/SUMS dcbd-0.9.2/SUMS --- dcbd-0.7.35rt/SUMS 2008-11-20 11:36:27.000000000 -0800 +++ dcbd-0.9.2/SUMS 2008-12-02 17:36:22.000000000 -0800 @@ -1,26 +1,26 @@ 53544 3 dcbd7 -23633 36 clif_cmds.c +56524 36 clif_cmds.c 23104 2 libconfig/Makefile 61336 131 libconfig/libconfig-1.3.1.patch 25761 517 libconfig/libconfig-1.3.1.tar.gz 04094 5 log.c 08091 5 Makefile 28010 10 common.c -30806 9 ctrl_iface.c +57774 9 ctrl_iface.c 21712 23 dcbtool_cmds.c -48513 19 dcbtool.c +45810 19 dcbtool.c 01403 6 clif.c 39773 19 COPYING -51226 29 nltest.c -41214 11 eloop.c +23984 30 nltest.c +39296 11 eloop.c 11591 5 bonding.c 28102 24 parse_cli.c 13564 12 dcb_rule_chk.cpp 56189 4 os_unix.c 49466 19 README 62150 7 dcbtool7 -58582 21 drv_cfg.c -00978 126 dcb_protocol.cpp +25349 21 drv_cfg.c +28671 126 dcb_protocol.cpp 62067 3 include/ctrl_iface.h 55879 2 include/includes.h 04121 2 include/dcb_persist_store.h @@ -33,7 +33,7 @@ 08794 7 include/clif_cmds.h 08101 7 include/clif.h 44799 2 include/config.h -29502 2 include/version.h +03546 2 include/version.h 27192 3 include/messages.h 41092 12 include/common.h 55964 2 include/dcb_osdep.h @@ -42,25 +42,25 @@ 01180 2 include/bonding.h 40725 3 include/drv_cfg.h 23005 2 include/dcb_events.h -11584 2 include/event_iface.h +21949 2 include/event_iface.h 50008 11 include/dcb_types.h -56688 3 include/parse_cli.h -05164 2 dcbd.spec +09063 3 include/parse_cli.h +44070 2 dcbd.spec 04129 7 dcbd.init 52219 8 event_iface.c 62795 4 nltest.h -37630 9 lldp/l2_packet_linux.c +28413 9 lldp/l2_packet_linux.c 01032 3 lldp/agent.c 39750 6 lldp/l2_packet.h 34822 13 lldp/tlv.h 08229 2 lldp/agent.h 15669 2 lldp/Makefile 44452 10 lldp/ports.c -16276 46 lldp/rx.c +58821 46 lldp/rx.c 24608 5 lldp/ports.h 48526 25 lldp/tlv.c 15542 2 lldp/mibdata.h 07239 7 lldp/states.h 11172 14 lldp/tx.c -24432 44 config.c -58610 9 dcbd.c +52265 44 config.c +30816 9 dcbd.c
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor