libgtp: expand logging
* print destination address on sendto error * print address length on conversion error * log listening address * log GTP version on PDP context errors * fix incorrect logging message for unknown GSN peer Related: SYS#3610 Change-Id: I0f8ad8687acb7f6f0eeeb962f007e87cca0c4c27
This commit is contained in:
parent
367baa3776
commit
14b1b63710
17
gtp/gtp.c
17
gtp/gtp.c
|
@ -394,9 +394,8 @@ int gtp_req(struct gsn_t *gsn, int version, struct pdp_t *pdp,
|
||||||
if (sendto(fd, packet, len, 0,
|
if (sendto(fd, packet, len, 0,
|
||||||
(struct sockaddr *)&addr, sizeof(addr)) < 0) {
|
(struct sockaddr *)&addr, sizeof(addr)) < 0) {
|
||||||
gsn->err_sendto++;
|
gsn->err_sendto++;
|
||||||
LOGP(DLGTP, LOGL_ERROR,
|
LOGP(DLGTP, LOGL_ERROR, "Sendto(fd=%d, msg=%lx, len=%d, dst=%s) failed: Error = %s\n", fd,
|
||||||
"Sendto(fd=%d, msg=%lx, len=%d) failed: Error = %s\n", fd,
|
(unsigned long)&packet, len, inet_ntoa(addr.sin_addr), strerror(errno));
|
||||||
(unsigned long)&packet, len, strerror(errno));
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -697,7 +696,7 @@ int gtp_new(struct gsn_t **gsn, char *statedir, struct in_addr *listen,
|
||||||
{
|
{
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
|
|
||||||
LOGP(DLGTP, LOGL_NOTICE, "GTP: gtp_newgsn() started\n");
|
LOGP(DLGTP, LOGL_NOTICE, "GTP: gtp_newgsn() started at %s\n", inet_ntoa(*listen));
|
||||||
|
|
||||||
*gsn = calloc(sizeof(struct gsn_t), 1); /* TODO */
|
*gsn = calloc(sizeof(struct gsn_t), 1); /* TODO */
|
||||||
|
|
||||||
|
@ -2293,8 +2292,7 @@ int gtp_delete_context_req(struct gsn_t *gsn, struct pdp_t *pdp, void *cbp,
|
||||||
|
|
||||||
if (gsna2in_addr(&addr, &pdp->gsnrc)) {
|
if (gsna2in_addr(&addr, &pdp->gsnrc)) {
|
||||||
gsn->err_address++;
|
gsn->err_address++;
|
||||||
LOGP(DLGTP, LOGL_ERROR,
|
LOGP(DLGTP, LOGL_ERROR, "GSN address (len=%u) conversion failed\n", pdp->gsnrc.l);
|
||||||
"GSN address conversion failed\n");
|
|
||||||
return EOF;
|
return EOF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2642,7 +2640,7 @@ int gtp_gpdu_ind(struct gsn_t *gsn, int version,
|
||||||
(&pdp, ntoh16(((union gtp_packet *)pack)->gtp0.h.flow))) {
|
(&pdp, ntoh16(((union gtp_packet *)pack)->gtp0.h.flow))) {
|
||||||
gsn->err_unknownpdp++;
|
gsn->err_unknownpdp++;
|
||||||
GTP_LOGPKG(LOGL_ERROR, peer, pack,
|
GTP_LOGPKG(LOGL_ERROR, peer, pack,
|
||||||
len, "Unknown PDP context\n");
|
len, "Unknown PDP context, GTPv0\n");
|
||||||
return gtp_error_ind_resp(gsn, version, peer, fd, pack,
|
return gtp_error_ind_resp(gsn, version, peer, fd, pack,
|
||||||
len);
|
len);
|
||||||
}
|
}
|
||||||
|
@ -2652,7 +2650,7 @@ int gtp_gpdu_ind(struct gsn_t *gsn, int version,
|
||||||
(&pdp, ntoh32(((union gtp_packet *)pack)->gtp1l.h.tei))) {
|
(&pdp, ntoh32(((union gtp_packet *)pack)->gtp1l.h.tei))) {
|
||||||
gsn->err_unknownpdp++;
|
gsn->err_unknownpdp++;
|
||||||
GTP_LOGPKG(LOGL_ERROR, peer, pack,
|
GTP_LOGPKG(LOGL_ERROR, peer, pack,
|
||||||
len, "Unknown PDP context\n");
|
len, "Unknown PDP context, GTPv1\n");
|
||||||
return gtp_error_ind_resp(gsn, version, peer, fd, pack,
|
return gtp_error_ind_resp(gsn, version, peer, fd, pack,
|
||||||
len);
|
len);
|
||||||
}
|
}
|
||||||
|
@ -2670,8 +2668,7 @@ int gtp_gpdu_ind(struct gsn_t *gsn, int version,
|
||||||
/* If the GPDU was not from the peer GSN tell him to delete context */
|
/* If the GPDU was not from the peer GSN tell him to delete context */
|
||||||
if (memcmp(&peer->sin_addr, pdp->gsnru.v, pdp->gsnru.l)) { /* TODO Range? */
|
if (memcmp(&peer->sin_addr, pdp->gsnru.v, pdp->gsnru.l)) { /* TODO Range? */
|
||||||
gsn->err_unknownpdp++;
|
gsn->err_unknownpdp++;
|
||||||
GTP_LOGPKG(LOGL_ERROR, peer, pack, len,
|
GTP_LOGPKG(LOGL_ERROR, peer, pack, len, "Unknown GSN peer %s\n", inet_ntoa(peer->sin_addr));
|
||||||
"Unknown PDP context\n");
|
|
||||||
return gtp_error_ind_resp(gsn, version, peer, fd, pack, len);
|
return gtp_error_ind_resp(gsn, version, peer, fd, pack, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue