Reading of mtu discovery msgelem.
FossilOrigin-Name: 0814d4a3e43bb4adc1448b3afcfd5d6c51d4e11d6c1f758d367ed8a2f3cb4bd3
This commit is contained in:
		| @ -121,6 +121,7 @@ CAPWAPOBJS= \ | ||||
| 	cw_readelem_radio_administrative_state.o \ | ||||
| 	cw_readelem_radio_operational_state.o \ | ||||
| 	cw_readelem_statistics_timer.o \ | ||||
| 	cw_readelem_mtu_discovery_padding.o \ | ||||
| 	   cw_readelem_wtp_reboot_statistics.o\ | ||||
|    	   cwmsg_addelem_vendor_cisco_ap_timesync.o \ | ||||
| 	lw_checksum.o | ||||
|  | ||||
							
								
								
									
										40
									
								
								src/capwap/cw_readelem_mtu_discovery_padding.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/capwap/cw_readelem_mtu_discovery_padding.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,40 @@ | ||||
| /* | ||||
|     This file is part of libcapwap. | ||||
|  | ||||
|     libcapwap is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
|  | ||||
|     libcapwap is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with Foobar.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  | ||||
| */ | ||||
|  | ||||
|  | ||||
| #include "capwap.h" | ||||
| #include "cw_log.h" | ||||
|  | ||||
| int cw_readelem_mtu_discovery_padding(int type, uint8_t * msgelem, int len) | ||||
| { | ||||
| 	if (type != CWMSGELEM_MTU_DISCOVERY_PADDING) | ||||
| 		return 0; | ||||
| 	if (!cw_dbg_is_level(DBG_CW_RFC)) | ||||
| 		return 1; | ||||
|  | ||||
| 	int i, n = 0; | ||||
| 	for (i = 0; i < len; i++) { | ||||
| 		if (msgelem[i] != 0xff) | ||||
| 			n++; | ||||
| 	} | ||||
| 	if (n) | ||||
| 		cw_dbg(DBG_CW_RFC, | ||||
| 		       "MTU discovery padding msgelem contains %d non-0xFF byte(s) out of %d, See RFC 5415.", | ||||
| 		       n, len); | ||||
| 	return 1; | ||||
| } | ||||
| @ -61,6 +61,11 @@ static int wtpinfo_readelem_discovery_req(void *eparm, int type, | ||||
| 	    (e->wtpinfo, type, msgelem, len)) | ||||
| 		goto foundX; | ||||
|  | ||||
| 	/* non-mandatory mesage lements */ | ||||
| 	if (cw_readelem_mtu_discovery_padding(type,msgelem,len)) | ||||
| 		return 1; | ||||
| 	 | ||||
|  | ||||
| 	return 0; | ||||
|       foundX: | ||||
| 	cw_mand_elem_found(e->mand, type); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user