Sorry, my previous email was not formatted correctly.
Everyone, I have a problem and would would be grateful if you could have a quick look at it for me. I am trying to use the Option 82 data from a DHCP request, but for some reason the Circuit ID is changing during the processing of the request.
Here is the reqest coming in and then getting processed by the linelog module:
Received DHCP-Request of id 721fc604 from
10.180.1.1:67 to
10.160.0.254:67
0: 01 01 06 01 72 1f c6 04 00 a5 00 00 0a b4 01 05
16: 00 00 00 00 00 00 00 00 0a b4 01 01 50 af 73 18
32: ed 98 00 00 00 00 00 00 00 00 00 00 00 00 00 00
48: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
64: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
96: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
144: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
176: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
192: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
208: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
224: 00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63
240: 35 01 03 0c 07 73 75 70 70 6f 72 74 37 0d 01 1c
256: 02 03 0f 06 77 0c 2c 2f 1a 79 2a 52 12 01 08 00
272: 06 04 b1 01 00 00 01 02 06 00 03 0f 1a e3 2c ff
288: 00 00 00 00 00 00 00 00 00 00 00 00
DHCP-Opcode = Client-Message
DHCP-Hardware-Type = Ethernet
DHCP-Hardware-Address-Length = 6
DHCP-Hop-Count = 1
DHCP-Transaction-Id = 1914684932
DHCP-Number-of-Seconds = 165
DHCP-Flags = 0
DHCP-Client-IP-Address = 10.180.1.5
DHCP-Your-IP-Address = 0.0.0.0
DHCP-Server-IP-Address = 0.0.0.0
DHCP-Gateway-IP-Address = 10.180.1.1
DHCP-Client-Hardware-Address = 50:af:73:18:ed:98
DHCP-Message-Type += DHCP-Request
DHCP-Hostname += 'support'
DHCP-Parameter-Request-List += DHCP-Subnet-Mask
DHCP-Parameter-Request-List += DHCP-Broadcast-Address
DHCP-Parameter-Request-List += DHCP-Time-Offset
DHCP-Parameter-Request-List += DHCP-Router-Address
DHCP-Parameter-Request-List += DHCP-Domain-Name
DHCP-Parameter-Request-List += DHCP-Domain-Name-Server
DHCP-Parameter-Request-List += DHCP-Domain-Search
DHCP-Parameter-Request-List += DHCP-Hostname
DHCP-Parameter-Request-List += DHCP-NETBIOS-Name-Servers
DHCP-Parameter-Request-List += DHCP-NETBIOS
DHCP-Parameter-Request-List += DHCP-Interface-MTU-Size
DHCP-Parameter-Request-List += DHCP-Classless-Static-Route
DHCP-Parameter-Request-List += DHCP-NTP-Servers
DHCP-Relay-Circuit-Id = 0x000604b101000001
Mon Feb 24 16:51:36 2014 : Debug: Trying sub-section dhcp DHCP-Request {...}
Mon Feb 24 16:51:36 2014 : Debug: (0) dhcp DHCP-Request {
Mon Feb 24 16:51:36 2014 : Debug: (0) modsingle[post-auth]: calling linelog-dhcp (rlm_linelog) for request 0
Mon Feb 24 16:51:36 2014 : Debug: %{%{reply:DHCP-Message-Type}:-
%{request:DHCP-Message-Type}}
Mon Feb 24 16:51:36 2014 : Debug: Parsed xlat tree:
Mon Feb 24 16:51:36 2014 : Debug: if {
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Message-Type
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 2
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: else {
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Message-Type
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: (0) linelog-dhcp : expand: "%{%{reply:DHCP-Message-Type}:-%{request:DHCP-Message-Type}}" -> 'DHCP-Request'
Mon Feb 24 16:51:36 2014 : Debug: /usr/local/var/log/radius/linelog-dhcp.log
Mon Feb 24 16:51:36 2014 : Debug: Parsed xlat tree:
Mon Feb 24 16:51:36 2014 : Debug: literal: '/usr/local/var/log/radius/linelog-dhcp.log'
Mon Feb 24 16:51:36 2014 : Debug: (0) linelog-dhcp : expand: "/usr/local/var/log/radius/linelog-dhcp.log" -> '/usr/local/var/log/radius/linelog-dhcp.log'
Mon Feb 24 16:51:36 2014 : Debug: %S --> Transaction-ID: %{DHCP-Transaction-Id} REQUEST: [%{DHCP-Client-Hardware-Address}] via (%{DHCP-Gateway-IP-Address}), hop count = %{DHCP-Hop-Count}, Relay = %{DHCP-Relay-Remote-Id} / %{DHCP-Relay-Circuit-Id} ...
Mon Feb 24 16:51:36 2014 : Debug: Parsed xlat tree:
Mon Feb 24 16:51:36 2014 : Debug: literal (with %): 'S'
Mon Feb 24 16:51:36 2014 : Debug: literal: ' --> Transaction-ID: '
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Transaction-Id
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: literal: ' REQUEST: ['
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Client-Hardware-Address
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: literal: '] via ('
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Gateway-IP-Address
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: literal: '), hop count = '
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Hop-Count
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: literal: ', Relay = '
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Relay-Remote-Id
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: literal: ' / '
Mon Feb 24 16:51:36 2014 : Debug: attribute: DHCP-Relay-Circuit-Id
Mon Feb 24 16:51:36 2014 : Debug: {
Mon Feb 24 16:51:36 2014 : Debug: ref 2
Mon Feb 24 16:51:36 2014 : Debug: list 1
Mon Feb 24 16:51:36 2014 : Debug: tag -128
Mon Feb 24 16:51:36 2014 : Debug: }
Mon Feb 24 16:51:36 2014 : Debug: literal: ' ...'
Mon Feb 24 16:51:36 2014 : Debug: (0) linelog-dhcp : expand: "%S --> Transaction-ID: %{DHCP-Transaction-Id} REQUEST: [%{DHCP-Client-Hardware-Address}] via (%{DHCP-Gateway-IP-Address}), hop count = %{DHCP-Hop-Count}, Relay = %{DHCP-Relay-Remote-Id} / %{DHCP-Relay-Circuit-Id} ..." -> '2014-02-24 16:51:36 --> Transaction-ID: 1914684932 REQUEST: [50:af:73:18:ed:98] via (10.180.1.1), hop count = 1, Relay = 0x00030f1ae32c / 0x5d20766961202800 ...'
Mon Feb 24 16:51:36 2014 : Debug: (0) modsingle[post-auth]: returned from linelog-dhcp (rlm_linelog) for request 0
Mon Feb 24 16:51:36 2014 : Debug: (0) [linelog-dhcp] = ok
As you can see, the attribute DHCP-Relay-Circuit-Id starts of with value "0x000604b101000001" but by the time it is processed by linelog it has value "0x5d20766961202800"
Here is the full debug output:
http://pastebin.com/b9RXPRD0