소스 검색

added counter sources

tags/v1.1.0
root 5 년 전
부모
커밋
91a24444d8
3개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 4
    0
      src/dp_dhcpv4.c
  2. 5
    1
      src/dp_dhcpv6.c
  3. 1
    1
      src/dp_dhcpv6.h

+ 4
- 0
src/dp_dhcpv4.c 파일 보기

@@ -74,6 +74,10 @@ void dp_dhcpv4_check(dp_conf *conf, unsigned char *pkt, int pktlen, int offset,
if ( offset+len>pktlen )
break;

// option 53 message type
if ( type == 53 && len == 1 )
dp_dhcpv4_cnt(*(uint8_t*)(pkt+offset+1));

// option 82 parser
if ( type == 82 ) {
unsigned char *o82 = pkt+offset;

+ 5
- 1
src/dp_dhcpv6.c 파일 보기

@@ -26,6 +26,8 @@ static dp_dhcpv6_stats dp_v6_stats;
void dp_dhcpv6_check(dp_conf *conf, unsigned char *pkt, int pktlen, int offset, unsigned char **remoteid, int *remoteidlen) {
uint8_t msgtype = (uint8_t)pkt[offset];

dp_dhcpv6_cnt((uint16_t)msgtype);

if ( conf->debug ) printf("offset=%i\n",offset);

switch(msgtype) {
@@ -48,6 +50,8 @@ void dp_dhcpv6_check(dp_conf *conf, unsigned char *pkt, int pktlen, int offset,

offset+=4;

dp_dhcpv6_cnt(code);

if ( code == 9 ) { // relay message
if ( conf->debug ) printf("option 9, relay msg\n");
offset+=4;
@@ -66,7 +70,7 @@ void dp_dhcpv6_check(dp_conf *conf, unsigned char *pkt, int pktlen, int offset,
}
}

dp_dhcpv6_stats *dp_dhcpv6_cnt(uint8_t msgcode) {
dp_dhcpv6_stats *dp_dhcpv6_cnt(uint16_t msgcode) {

if ( msgcode > 0 && msgcode < DP_DHCPV6_CODE_LEN ) {
dp_v6_stats.relcnt[msgcode]++;

+ 1
- 1
src/dp_dhcpv6.h 파일 보기

@@ -73,6 +73,6 @@ void dp_dhcpv6_check (
unsigned char**,
int*);

dp_dhcpv6_stats *dp_dhcpv6_cnt(uint8_t);
dp_dhcpv6_stats *dp_dhcpv6_cnt(uint16_t);

#endif // __DP_MACRO

Loading…
취소
저장