Repository: trafficserver Updated Branches: refs/heads/master 404e7866b -> b2b004066
TS-3780: Logs_xml: add logging field for incoming (interface) ip. Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/063cb576 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/063cb576 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/063cb576 Branch: refs/heads/master Commit: 063cb576a753d75dc43f55b0a8438b59e90cc08b Parents: bb6f9f3 Author: Zizhong Zhang <zizh...@linkedin.com> Authored: Mon Jul 20 22:41:08 2015 -0700 Committer: Zizhong Zhang <zizh...@linkedin.com> Committed: Mon Jul 20 22:41:08 2015 -0700 ---------------------------------------------------------------------- proxy/logging/Log.cc | 11 +++++++++++ proxy/logging/LogAccess.cc | 5 +++++ proxy/logging/LogAccess.h | 9 +++++---- proxy/logging/LogAccessHttp.cc | 6 ++++++ proxy/logging/LogAccessHttp.h | 1 + 5 files changed, 28 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/063cb576/proxy/logging/Log.cc ---------------------------------------------------------------------- diff --git a/proxy/logging/Log.cc b/proxy/logging/Log.cc index 01921f4..6f20b46 100644 --- a/proxy/logging/Log.cc +++ b/proxy/logging/Log.cc @@ -344,7 +344,18 @@ Log::init_fields() new LogField("client_host_ip_hex", "chih", LogField::IP, &LogAccess::marshal_client_host_ip, &LogAccess::unmarshal_ip_to_hex); global_field_list.add(field, false); ink_hash_table_insert(field_symbol_hash, "chih", field); + + // interface ip + field = new LogField("host_interface_ip", "hii", LogField::IP, &LogAccess::marshal_host_interface_ip, &LogAccess::unmarshal_ip_to_str); + global_field_list.add(field, false); + ink_hash_table_insert(field_symbol_hash, "hii", field); + + field = + new LogField("host_interface_ip_hex", "hiih", LogField::IP, &LogAccess::marshal_host_interface_ip, &LogAccess::unmarshal_ip_to_hex); + global_field_list.add(field, false); + ink_hash_table_insert(field_symbol_hash, "hiih", field); + // interface ip end field = new LogField("client_auth_user_name", "caun", LogField::STRING, &LogAccess::marshal_client_auth_user_name, (LogField::UnmarshalFunc) & LogAccess::unmarshal_str); global_field_list.add(field, false); http://git-wip-us.apache.org/repos/asf/trafficserver/blob/063cb576/proxy/logging/LogAccess.cc ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc index bea3b1b..012ec2a 100644 --- a/proxy/logging/LogAccess.cc +++ b/proxy/logging/LogAccess.cc @@ -92,6 +92,11 @@ LogAccess::marshal_client_host_ip(char *buf) DEFAULT_IP_FIELD; } +int +LogAccess::marshal_host_interface_ip(char *buf) +{ + DEFAULT_IP_FIELD; +} /*------------------------------------------------------------------------- -------------------------------------------------------------------------*/ int http://git-wip-us.apache.org/repos/asf/trafficserver/blob/063cb576/proxy/logging/LogAccess.h ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccess.h b/proxy/logging/LogAccess.h index 143aedf..61f6679 100644 --- a/proxy/logging/LogAccess.h +++ b/proxy/logging/LogAccess.h @@ -170,10 +170,11 @@ public: // // client -> proxy fields // - inkcoreapi virtual int marshal_client_host_ip(char *); // STR - inkcoreapi virtual int marshal_client_host_port(char *); // INT - inkcoreapi virtual int marshal_client_auth_user_name(char *); // STR - int marshal_client_req_timestamp_sec(char *); // INT + inkcoreapi virtual int marshal_client_host_ip(char *); // STR + inkcoreapi virtual int marshal_host_interface_ip(char *); // STR + inkcoreapi virtual int marshal_client_host_port(char *); // INT + inkcoreapi virtual int marshal_client_auth_user_name(char *); // STR + int marshal_client_req_timestamp_sec(char *); // INT inkcoreapi virtual int marshal_client_req_text(char *); // STR inkcoreapi virtual int marshal_client_req_http_method(char *); // STR http://git-wip-us.apache.org/repos/asf/trafficserver/blob/063cb576/proxy/logging/LogAccessHttp.cc ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccessHttp.cc b/proxy/logging/LogAccessHttp.cc index 8d457ab..4eedaa5 100644 --- a/proxy/logging/LogAccessHttp.cc +++ b/proxy/logging/LogAccessHttp.cc @@ -237,6 +237,12 @@ LogAccessHttp::marshal_client_host_ip(char *buf) return marshal_ip(buf, &m_http_sm->t_state.client_info.src_addr.sa); } +int +LogAccessHttp::marshal_host_interface_ip(char *buf) +{ + return marshal_ip(buf, &m_http_sm->t_state.client_info.dst_addr.sa); +} + /*------------------------------------------------------------------------- -------------------------------------------------------------------------*/ int http://git-wip-us.apache.org/repos/asf/trafficserver/blob/063cb576/proxy/logging/LogAccessHttp.h ---------------------------------------------------------------------- diff --git a/proxy/logging/LogAccessHttp.h b/proxy/logging/LogAccessHttp.h index 984794d..a228f31 100644 --- a/proxy/logging/LogAccessHttp.h +++ b/proxy/logging/LogAccessHttp.h @@ -56,6 +56,7 @@ public: // client -> proxy fields // virtual int marshal_client_host_ip(char *); // STR + virtual int marshal_host_interface_ip(char *); // STR virtual int marshal_client_host_port(char *); // INT virtual int marshal_client_auth_user_name(char *); // STR virtual int marshal_client_req_text(char *); // STR