Commit 8665535e authored by Adam Wujek's avatar Adam Wujek 💬 Committed by Grzegorz Daniluk

lib/lldp.c: no technical change, change indentation

Change indentation of switch statement.
Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
parent a62a8c85
......@@ -58,150 +58,148 @@ static void lldp_add_tlv(int tlv_type) {
int tlv_len = 0;
switch (tlv_type) {
case END_LLDP:
/* End TLV */
/* header */
lldp_header_tlv(tlv_type, tlv_len);
break;
case CHASSIS_ID:
tlv_len = CHASSIS_ID_TLV_LEN;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Chassis Component */
fill_mac(&lldpdu[lldpdu_len], CHASSIS_ID_TYPE_MAC);
break;
case PORT_ID:
tlv_len = PORT_ID_TLV_LEN;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV portID */
fill_mac(&lldpdu[lldpdu_len], PORT_ID_SUBTYPE_MAC);
break;
case TTL:
tlv_len = TTL_ID_TLV_LEN;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Time to Live */
/* use LLDP_TX_TICK_INTERVAL in seconds times 4 */
lldpdu[lldpdu_len + TTL_BYTE_MSB] =
(((LLDP_TX_TICK_INTERVAL / 1000) * 4) >> 8)
& 0xff;
lldpdu[lldpdu_len + TTL_BYTE_LSB] =
((LLDP_TX_TICK_INTERVAL / 1000) * 4) & 0xff;
break;
case PORT:
tlv_len = strlen(PORT_NAME) + 1;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
case END_LLDP:
/* End TLV */
/* header */
lldp_header_tlv(tlv_type, tlv_len);
break;
case CHASSIS_ID:
tlv_len = CHASSIS_ID_TLV_LEN;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Chassis Component */
fill_mac(&lldpdu[lldpdu_len], CHASSIS_ID_TYPE_MAC);
break;
case PORT_ID:
tlv_len = PORT_ID_TLV_LEN;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV portID */
fill_mac(&lldpdu[lldpdu_len], PORT_ID_SUBTYPE_MAC);
break;
case TTL:
tlv_len = TTL_ID_TLV_LEN;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Time to Live */
/* use LLDP_TX_TICK_INTERVAL in seconds times 4 */
lldpdu[lldpdu_len + TTL_BYTE_MSB] =
(((LLDP_TX_TICK_INTERVAL / 1000) * 4) >> 8) & 0xff;
lldpdu[lldpdu_len + TTL_BYTE_LSB] =
((LLDP_TX_TICK_INTERVAL / 1000) * 4) & 0xff;
break;
case PORT:
tlv_len = strlen(PORT_NAME) + 1;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
strcpy((char *)lldpdu + lldpdu_len, PORT_NAME);
break;
case SYS_NAME:
{
/* TODO get host system name from wr-core outer world */
/* NOTE: according to 802.1AB-2005 9.5.6.2 and then
* IETF RFC 3418:
* "If the name is unknown, the value is the zero-length
* string."
* However, we put the IP, if not set MAC to be able to
* identify a system */
char buf[32];
getIP(ipWR);
if (HAS_IP && memcmp(ipWR, "\0\0\0\0", 4)) {
/* NOTE: no subtype */
format_ip(buf, ipWR);
tlv_len = strlen((char *)buf);
strcpy((char *)(lldpdu + lldpdu_len + LLDP_HEADER),
(char *)buf);
} else {
/* NOTE: no subtype */
get_mac_addr(mac);
pp_sprintf(buf,
"%02x:%02x:%02x:%02x:%02x:%02x",
mac[0], mac[1], mac[2], mac[3],
mac[4], mac[5]);
tlv_len = 17;
strncpy((char *)(lldpdu + lldpdu_len + LLDP_HEADER),
(char *)buf, tlv_len);
}
/* header */
lldp_header_tlv(tlv_type, tlv_len);
strcpy((char *)lldpdu + lldpdu_len, PORT_NAME);
break;
}
case SYS_DESCR:
tlv_len = 0; /* will be calculated later */
uint8_t *pdu_p;
/* set the pointer after TLV's header */
pdu_p = &lldpdu[lldpdu_len + LLDP_HEADER];
/* TLV Info srting */
strncpy((char *)(pdu_p), wrc_hw_name, HW_NAME_LENGTH - 1);
pdu_p += strnlen(wrc_hw_name, HW_NAME_LENGTH - 1);
strcpy((char *)(pdu_p), ": ");
pdu_p += 2; /* length of ": " */
strncpy((char *)(pdu_p), build_revision, 32);
pdu_p += strnlen(build_revision, 32);
tlv_len = (uint8_t)(pdu_p - &lldpdu[lldpdu_len + LLDP_HEADER]);
lldp_header_tlv(tlv_type, tlv_len);
break;
case SYS_CAPLTY:
/* don't implement this, this TLV is optional */
break;
tlv_len = 4;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Info string */
memset(lldpdu + lldpdu_len, 0x0, tlv_len);
break;
case MNG_ADD:
/* TODO: fill with MAC if no IP present */
if (!HAS_IP || !memcmp(ipWR, "\0\0\0\0", 4)) {
/* if no IP present skip this field */
break;
case SYS_NAME:
{
/* TODO get host system name from wr-core outer world */
/* NOTE: according to 802.1AB-2005 9.5.6.2 and then
* IETF RFC 3418:
* "If the name is unknown, the value is
* the zero-length string."
* However, we put the IP, if not set MAC to be able to
* identify a system */
char buf[32];
}
/* TODO: dynamic len */
tlv_len = 0xc;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Info string */
lldpdu[lldpdu_len] = MNG_ADDR_LEN; /* len */
/* mngt add subtype */
lldpdu[lldpdu_len + LLDP_SUBTYPE] = MNG_ADDR_SUBTYPE_IPv4;
/* if subtype (ifIndex)*/
lldpdu[lldpdu_len + MNT_IF_SUBTYPE] =
MNG_IF_NUM_SUBTYPE_IFINDEX;
/* if number */
lldpdu[lldpdu_len + MNT_IF_NUM] = 0x1;
/* TLV Info srting */
if (HAS_IP) {
getIP(ipWR);
char buf[32];
if (HAS_IP && memcmp(ipWR, "\0\0\0\0", 4)) {
/* NOTE: no subtype */
format_ip(buf, ipWR);
tlv_len = strlen((char *)buf);
strcpy((char *)(lldpdu + lldpdu_len + LLDP_HEADER),
(char *)buf);
} else {
/* NOTE: no subtype */
get_mac_addr(mac);
pp_sprintf(buf,
"%02x:%02x:%02x:%02x:%02x:%02x",
mac[0], mac[1], mac[2], mac[3],
mac[4], mac[5]);
tlv_len = 17;
strncpy((char *)(lldpdu + lldpdu_len + LLDP_HEADER),
(char *)buf, tlv_len);
}
/* header */
lldp_header_tlv(tlv_type, tlv_len);
break;
}
case SYS_DESCR:
tlv_len = 0; /* will be calculated later */
uint8_t *pdu_p;
/* set the pointer after TLV's header */
pdu_p = &lldpdu[lldpdu_len + LLDP_HEADER];
/* TLV Info srting */
strncpy((char *)(pdu_p), wrc_hw_name,
HW_NAME_LENGTH - 1);
pdu_p += strnlen(wrc_hw_name, HW_NAME_LENGTH - 1);
strcpy((char *)(pdu_p), ": ");
pdu_p += 2; /* length of ": " */
strncpy((char *)(pdu_p), build_revision, 32);
pdu_p += strnlen(build_revision, 32);
tlv_len =
(uint8_t)(pdu_p - &lldpdu[lldpdu_len + LLDP_HEADER]);
lldp_header_tlv(tlv_type, tlv_len);
break;
case SYS_CAPLTY:
/* don't implement this, this TLV is optional */
break;
tlv_len = 4;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Info string */
memset(lldpdu + lldpdu_len, 0x0, tlv_len);
break;
case MNG_ADD:
/* TODO: fill with MAC if no IP present */
if (!HAS_IP || !memcmp(ipWR, "\0\0\0\0", 4)) {
/* if no IP present skip this field */
break;
}
/* TODO: dynamic len */
tlv_len = 0xc;
/* header */
lldp_header_tlv(tlv_type, tlv_len);
/* TLV Info string */
lldpdu[lldpdu_len] = MNG_ADDR_LEN; /* len */
/* mngt add subtype */
lldpdu[lldpdu_len + LLDP_SUBTYPE] = MNG_ADDR_SUBTYPE_IPv4;
/* if subtype (ifIndex)*/
lldpdu[lldpdu_len + MNT_IF_SUBTYPE] = MNG_IF_NUM_SUBTYPE_IFINDEX;
/* if number */
lldpdu[lldpdu_len + MNT_IF_NUM] = 0x1;
/* TLV Info srting */
if (HAS_IP) {
getIP(ipWR);
char buf[32];
format_ip(buf, ipWR);
memcpy(&lldpdu[lldpdu_len + LLDP_SUBTYPE + 1],
ipWR, 4);
}
/* TODO: add info about VLAN 9.5.9.9g */
break;
case USER_DEF:
/* TODO define WR TLV */
return;
break;
default:
return;
break;
format_ip(buf, ipWR);
memcpy(&lldpdu[lldpdu_len + LLDP_SUBTYPE + 1],
ipWR, 4);
}
/* TODO: add info about VLAN 9.5.9.9g */
break;
case USER_DEF:
/* TODO define WR TLV */
return;
break;
default:
return;
break;
}
lldpdu_len += tlv_len;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment