diff options
| author | sri-mohan1 <sri.mohan@samsung.com> | 2023-06-06 14:37:08 +0530 | 
|---|---|---|
| committer | sri-mohan1 <sri.mohan@samsung.com> | 2023-06-06 14:37:59 +0530 | 
| commit | b0eea1202c63ce4d1d5b35dc533a473d079bad53 (patch) | |
| tree | 55d4e53a03efaf994cd711574ac1b62ad1afa8a1 /ldpd/notification.c | |
| parent | 29f6fb04d8555d50f1e777463a570fd2d13614f7 (diff) | |
ldpd: changes for code maintainability
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
Diffstat (limited to 'ldpd/notification.c')
| -rw-r--r-- | ldpd/notification.c | 73 | 
1 files changed, 32 insertions, 41 deletions
diff --git a/ldpd/notification.c b/ldpd/notification.c index af5bb267d7..1709098d09 100644 --- a/ldpd/notification.c +++ b/ldpd/notification.c @@ -25,28 +25,28 @@ send_notification_full(struct tcp_conn *tcp, struct notify_msg *nm)  	/* calculate size */  	size = LDP_HDR_SIZE + LDP_MSG_SIZE + STATUS_SIZE; -	if (nm->flags & F_NOTIF_PW_STATUS) +	if (CHECK_FLAG(nm->flags, F_NOTIF_PW_STATUS))  		size += PW_STATUS_TLV_SIZE; -	if (nm->flags & F_NOTIF_FEC) +	if (CHECK_FLAG(nm->flags, F_NOTIF_FEC))  		size += len_fec_tlv(&nm->fec); -	if (nm->flags & F_NOTIF_RETURNED_TLVS) +	if (CHECK_FLAG(nm->flags, F_NOTIF_RETURNED_TLVS))  		size += TLV_HDR_SIZE * 2 + nm->rtlvs.length;  	if ((buf = ibuf_open(size)) == NULL)  		fatal(__func__); -	err |= gen_ldp_hdr(buf, size); +	SET_FLAG(err, gen_ldp_hdr(buf, size));  	size -= LDP_HDR_SIZE; -	err |= gen_msg_hdr(buf, MSG_TYPE_NOTIFICATION, size); -	err |= gen_status_tlv(buf, nm->status_code, nm->msg_id, nm->msg_type); +	SET_FLAG(err, gen_msg_hdr(buf, MSG_TYPE_NOTIFICATION, size)); +	SET_FLAG(err, gen_status_tlv(buf, nm->status_code, nm->msg_id, nm->msg_type));  	/* optional tlvs */ -	if (nm->flags & F_NOTIF_PW_STATUS) -		err |= gen_pw_status_tlv(buf, nm->pw_status); -	if (nm->flags & F_NOTIF_FEC) -		err |= gen_fec_tlv(buf, &nm->fec); -	if (nm->flags & F_NOTIF_RETURNED_TLVS) -		err |= gen_returned_tlvs(buf, nm->rtlvs.type, nm->rtlvs.length, -		    nm->rtlvs.data); +	if (CHECK_FLAG(nm->flags, F_NOTIF_PW_STATUS)) +		SET_FLAG(err, gen_pw_status_tlv(buf, nm->pw_status)); +	if (CHECK_FLAG(nm->flags, F_NOTIF_FEC)) +		SET_FLAG(err, gen_fec_tlv(buf, &nm->fec)); +	if (CHECK_FLAG(nm->flags, F_NOTIF_RETURNED_TLVS)) +		SET_FLAG(err, gen_returned_tlvs(buf, nm->rtlvs.type, nm->rtlvs.length, +		    nm->rtlvs.data));  	if (err) {  		ibuf_free(buf);  		return; @@ -121,7 +121,7 @@ send_notification_rtlvs(struct nbr *nbr, uint32_t status_code, uint32_t msg_id,  		nm.rtlvs.type = tlv_type;  		nm.rtlvs.length = tlv_len;  		nm.rtlvs.data = tlv_data; -		nm.flags |= F_NOTIF_RETURNED_TLVS; +		SET_FLAG(nm.flags, F_NOTIF_RETURNED_TLVS);  	}  	send_notification_full(nbr->tcp, &nm); @@ -189,13 +189,12 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  			break;  		case TLV_TYPE_PW_STATUS:  			if (tlv_len != 4) { -				session_shutdown(nbr, S_BAD_TLV_LEN, -				    msg.id, msg.type); +				session_shutdown(nbr, S_BAD_TLV_LEN, msg.id, msg.type);  				return (-1);  			}  			nm.pw_status = ntohl(*(uint32_t *)buf); -			nm.flags |= F_NOTIF_PW_STATUS; +			SET_FLAG(nm.flags, F_NOTIF_PW_STATUS);  			break;  		case TLV_TYPE_FEC:  			if ((tlen = tlv_decode_fec_elm(nbr, &msg, buf, @@ -203,12 +202,11 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  				return (-1);  			/* allow only one fec element */  			if (tlen != tlv_len) { -				session_shutdown(nbr, S_BAD_TLV_VAL, -				    msg.id, msg.type); +				session_shutdown(nbr, S_BAD_TLV_VAL, msg.id, msg.type);  				leconf->stats.bad_tlv_len++;  				return (-1);  			} -			nm.flags |= F_NOTIF_FEC; +			SET_FLAG(nm.flags, F_NOTIF_FEC);  			break;  		default:  			if (!(ntohs(tlv.type) & UNKNOWN_FLAG)) { @@ -226,9 +224,8 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  	/* sanity checks */  	switch (nm.status_code) {  	case S_PW_STATUS: -		if (!(nm.flags & (F_NOTIF_PW_STATUS|F_NOTIF_FEC))) { -			send_notification(nbr->tcp, S_MISS_MSG, -			    msg.id, msg.type); +		if (!CHECK_FLAG(nm.flags, (F_NOTIF_PW_STATUS|F_NOTIF_FEC))) { +			send_notification(nbr->tcp, S_MISS_MSG, msg.id, msg.type);  			return (-1);  		} @@ -236,20 +233,17 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  		case MAP_TYPE_PWID:  			break;  		default: -			send_notification(nbr->tcp, S_BAD_TLV_VAL, -			    msg.id, msg.type); +			send_notification(nbr->tcp, S_BAD_TLV_VAL, msg.id, msg.type);  			return (-1);  		}  		break;  	case S_ENDOFLIB: -		if (!(nm.flags & F_NOTIF_FEC)) { -			send_notification(nbr->tcp, S_MISS_MSG, -			    msg.id, msg.type); +		if (!CHECK_FLAG(nm.flags, F_NOTIF_FEC)) { +			send_notification(nbr->tcp, S_MISS_MSG, msg.id, msg.type);  			return (-1);  		}  		if (nm.fec.type != MAP_TYPE_TYPED_WCARD) { -			send_notification(nbr->tcp, S_BAD_TLV_VAL, -			    msg.id, msg.type); +			send_notification(nbr->tcp, S_BAD_TLV_VAL, msg.id, msg.type);  			return (-1);  		}  		break; @@ -259,7 +253,7 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  	log_msg_notification(0, nbr, &nm); -	if (st.status_code & htonl(STATUS_FATAL)) { +	if (CHECK_FLAG(st.status_code, htonl(STATUS_FATAL))) {  		if (nbr->state == NBR_STA_OPENSENT)  			nbr_start_idtimer(nbr); @@ -269,11 +263,9 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  		 * initialization, it SHOULD transmit a Shutdown message and  		 * then close the transport connection".  		 */ -		if (nbr->state != NBR_STA_OPER && -		    nm.status_code == S_SHUTDOWN) { +		if (nbr->state != NBR_STA_OPER && nm.status_code == S_SHUTDOWN) {  			leconf->stats.session_attempts++; -			send_notification(nbr->tcp, S_SHUTDOWN, -			    msg.id, msg.type); +			send_notification(nbr->tcp, S_SHUTDOWN, msg.id, msg.type);  		}  		leconf->stats.shutdown_rcv_notify++; @@ -287,8 +279,7 @@ recv_notification(struct nbr *nbr, char *buf, uint16_t len)  	switch (nm.status_code) {  	case S_PW_STATUS:  	case S_ENDOFLIB: -		ldpe_imsg_compose_lde(IMSG_NOTIFICATION, nbr->peerid, 0, -		    &nm, sizeof(nm)); +		ldpe_imsg_compose_lde(IMSG_NOTIFICATION, nbr->peerid, 0, &nm, sizeof(nm));  		break;  	case S_NO_HELLO:  		leconf->stats.session_rejects_hello++; @@ -361,8 +352,8 @@ gen_returned_tlvs(struct ibuf *buf, uint16_t type, uint16_t length,  	tlv.length = htons(length);  	err = ibuf_add(buf, &rtlvs, sizeof(rtlvs)); -	err |= ibuf_add(buf, &tlv, sizeof(tlv)); -	err |= ibuf_add(buf, tlv_data, length); +	SET_FLAG(err, ibuf_add(buf, &tlv, sizeof(tlv))); +	SET_FLAG(err, ibuf_add(buf, tlv_data, length));  	return (err);  } @@ -378,9 +369,9 @@ log_msg_notification(int out, struct nbr *nbr, struct notify_msg *nm)  	debug_msg(out, "notification: lsr-id %pI4, status %s",  	    &nbr->id, status_code_name(nm->status_code)); -	if (nm->flags & F_NOTIF_FEC) +	if (CHECK_FLAG(nm->flags, F_NOTIF_FEC))  		debug_msg(out, "notification:   fec %s", log_map(&nm->fec)); -	if (nm->flags & F_NOTIF_PW_STATUS) +	if (CHECK_FLAG(nm->flags, F_NOTIF_PW_STATUS))  		debug_msg(out, "notification:   pw-status %s",  		    (nm->pw_status == PW_FORWARDING) ? "forwarding" : "not forwarding");  }  | 
