QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
- QUERY4_RAI
- QUERY4_RAI_CIRCUIT_ID
- QUERY4_RAI_REMOTE_ID
+ QUERY4_OPTION_82
+ QUERY4_OPTION_82_SUB_OPTION_1
+ QUERY4_OPTION_82_SUB_OPTION_2
SUBNET4_ID
SUBNET4_NAME
SUBNET4_PREFIX
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
- QUERY4_RAI
- QUERY4_RAI_CIRCUIT_ID
- QUERY4_RAI_REMOTE_ID
+ QUERY4_OPTION_82
+ QUERY4_OPTION_82_SUB_OPTION_1
+ QUERY4_OPTION_82_SUB_OPTION_2
LEASES4_SIZE
DELETED_LEASES4_SIZE
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
- QUERY4_RAI
- QUERY4_RAI_CIRCUIT_ID
- QUERY4_RAI_REMOTE_ID
+ QUERY4_OPTION_82
+ QUERY4_OPTION_82_SUB_OPTION_1
+ QUERY4_OPTION_82_SUB_OPTION_2
LEASE4_ADDRESS
LEASE4_CLTT
LEASE4_HOSTNAME
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
- QUERY4_RAI
- QUERY4_RAI_CIRCUIT_ID
- QUERY4_RAI_REMOTE_ID
+ QUERY4_OPTION_82
+ QUERY4_OPTION_82_SUB_OPTION_1
+ QUERY4_OPTION_82_SUB_OPTION_2
LEASE4_ADDRESS
LEASE4_CLTT
LEASE4_HOSTNAME
const uint64_t value,
const string& prefix,
const string& suffix) {
- string data;
- try {
- data = boost::lexical_cast<string>(value);
- } catch (...) {
- }
- string exported_data = prefix + suffix + "=" + data;
+ string exported_data = prefix + suffix + "=" + boost::lexical_cast<string>(value);
vars.push_back(exported_data);
}
const string& prefix,
const string& suffix) {
if (option) {
- RunScriptImpl::extractString(vars, option->toHexString(), prefix, suffix);
- } else {
- RunScriptImpl::extractString(vars, "", prefix, suffix);
+ RunScriptImpl::extractString(vars, option->toHexString(),
+ prefix + "_OPTION_" +
+ boost::lexical_cast<string>(option->getType()),
+ suffix);
}
}
const string& prefix,
const string& suffix) {
if (option) {
- RunScriptImpl::extractOption(vars, option->getOption(code), prefix, suffix);
- } else {
- RunScriptImpl::extractString(vars, "", prefix, suffix);
+ RunScriptImpl::extractOption(vars, option->getOption(code),
+ prefix + "_OPTION_" +
+ boost::lexical_cast<string>(option->getType()) +
+ "_SUB", suffix);
}
}
prefix + "_REMOTE_HWADDR", suffix);
RunScriptImpl::extractOption(vars,
pkt4->getOption(DHO_DHCP_AGENT_OPTIONS),
- prefix + "_RAI", suffix);
+ prefix, suffix);
RunScriptImpl::extractSubOption(vars,
pkt4->getOption(DHO_DHCP_AGENT_OPTIONS),
RAI_OPTION_AGENT_CIRCUIT_ID,
- prefix + "_RAI_CIRCUIT_ID", suffix);
+ prefix, suffix);
RunScriptImpl::extractSubOption(vars,
pkt4->getOption(DHO_DHCP_AGENT_OPTIONS),
RAI_OPTION_REMOTE_ID,
- prefix + "_RAI_REMOTE_ID", suffix);
+ prefix, suffix);
} else {
RunScriptImpl::extractString(vars, "", prefix + "_TYPE", suffix);
RunScriptImpl::extractString(vars, "", prefix + "_TXID", suffix);
prefix + "_LOCAL_HWADDR", suffix);
RunScriptImpl::extractHWAddr(vars, HWAddrPtr(),
prefix + "_REMOTE_HWADDR", suffix);
- RunScriptImpl::extractString(vars, "", prefix + "_RAI", suffix);
- RunScriptImpl::extractString(vars, "",
- prefix + "_RAI_CIRCUIT_ID", suffix);
- RunScriptImpl::extractString(vars, "",
- prefix + "_RAI_REMOTE_ID", suffix);
}
}
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
-QUERY4_RAI
-QUERY4_RAI_CIRCUIT_ID
-QUERY4_RAI_REMOTE_ID
+QUERY4_OPTION_82
+QUERY4_OPTION_82_SUB_OPTION_1
+QUERY4_OPTION_82_SUB_OPTION_2
SUBNET4_ID
SUBNET4_NAME
SUBNET4_PREFIX
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
-QUERY4_RAI
-QUERY4_RAI_CIRCUIT_ID
-QUERY4_RAI_REMOTE_ID
+QUERY4_OPTION_82
+QUERY4_OPTION_82_SUB_OPTION_1
+QUERY4_OPTION_82_SUB_OPTION_2
LEASES4_SIZE
DELETED_LEASES4_SIZE
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
-QUERY4_RAI
-QUERY4_RAI_CIRCUIT_ID
-QUERY4_RAI_REMOTE_ID
+QUERY4_OPTION_82
+QUERY4_OPTION_82_SUB_OPTION_1
+QUERY4_OPTION_82_SUB_OPTION_2
LEASE4_ADDRESS
LEASE4_CLTT
LEASE4_HOSTNAME
QUERY4_LOCAL_HWADDR_TYPE
QUERY4_REMOTE_HWADDR
QUERY4_REMOTE_HWADDR_TYPE
-QUERY4_RAI
-QUERY4_RAI_CIRCUIT_ID
-QUERY4_RAI_REMOTE_ID
+QUERY4_OPTION_82
+QUERY4_OPTION_82_SUB_OPTION_1
+QUERY4_OPTION_82_SUB_OPTION_2
LEASE4_ADDRESS
LEASE4_CLTT
LEASE4_HOSTNAME
TEST_EQ "QUERY4_LOCAL_HWADDR_TYPE" "1"
TEST_EQ "QUERY4_REMOTE_HWADDR" "00:01:02:03"
TEST_EQ "QUERY4_REMOTE_HWADDR_TYPE" "1"
- TEST_EQ "QUERY4_RAI" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
- TEST_EQ "QUERY4_RAI_CIRCUIT_ID" "0x686F776479"
- TEST_EQ "QUERY4_RAI_REMOTE_ID" "0x87F67977EF"
+ TEST_EQ "QUERY4_OPTION_82" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_1" "0x686F776479"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_2" "0x87F67977EF"
TEST_EQ "SUBNET4_ID" "6"
TEST_EQ "SUBNET4_NAME" "182.168.0.1/2"
TEST_EQ "SUBNET4_PREFIX" "182.168.0.1"
TEST_EQ "QUERY4_LOCAL_HWADDR_TYPE" "1"
TEST_EQ "QUERY4_REMOTE_HWADDR" "00:01:02:03"
TEST_EQ "QUERY4_REMOTE_HWADDR_TYPE" "1"
- TEST_EQ "QUERY4_RAI" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
- TEST_EQ "QUERY4_RAI_CIRCUIT_ID" "0x686F776479"
- TEST_EQ "QUERY4_RAI_REMOTE_ID" "0x87F67977EF"
+ TEST_EQ "QUERY4_OPTION_82" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_1" "0x686F776479"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_2" "0x87F67977EF"
TEST_EQ "LEASES4_SIZE" "2"
TEST_EQ "LEASES4_AT0_ADDRESS" ""
TEST_EQ "LEASES4_AT0_CLTT" ""
TEST_EQ "QUERY4_LOCAL_HWADDR_TYPE" "1"
TEST_EQ "QUERY4_REMOTE_HWADDR" "00:01:02:03"
TEST_EQ "QUERY4_REMOTE_HWADDR_TYPE" "1"
- TEST_EQ "QUERY4_RAI" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
- TEST_EQ "QUERY4_RAI_CIRCUIT_ID" "0x686F776479"
- TEST_EQ "QUERY4_RAI_REMOTE_ID" "0x87F67977EF"
+ TEST_EQ "QUERY4_OPTION_82" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_1" "0x686F776479"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_2" "0x87F67977EF"
TEST_EQ "LEASE4_ADDRESS" "192.168.0.1"
TEST_EQ "LEASE4_CLTT" "3"
TEST_EQ "LEASE4_HOSTNAME" "test.hostname"
TEST_EQ "QUERY4_LOCAL_HWADDR_TYPE" "1"
TEST_EQ "QUERY4_REMOTE_HWADDR" "00:01:02:03"
TEST_EQ "QUERY4_REMOTE_HWADDR_TYPE" "1"
- TEST_EQ "QUERY4_RAI" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
- TEST_EQ "QUERY4_RAI_CIRCUIT_ID" "0x686F776479"
- TEST_EQ "QUERY4_RAI_REMOTE_ID" "0x87F67977EF"
+ TEST_EQ "QUERY4_OPTION_82" "0x0105686F776479020587F67977EF06061A2B3C4D5E6F"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_1" "0x686F776479"
+ TEST_EQ "QUERY4_OPTION_82_SUB_OPTION_2" "0x87F67977EF"
TEST_EQ "LEASE4_ADDRESS" "192.168.0.1"
TEST_EQ "LEASE4_CLTT" "3"
TEST_EQ "LEASE4_HOSTNAME" "test.hostname"
ProcessEnvVars vars;
OptionPtr option;
RunScriptImpl::extractOption(vars, option, "OPTION_PREFIX", "_OPTION_SUFFIX");
- ASSERT_EQ(1, vars.size());
- string expected = "OPTION_PREFIX_OPTION_SUFFIX=\n";
- EXPECT_EQ(expected, join(vars));
- vars.clear();
+ ASSERT_EQ(0, vars.size());
OptionBuffer buffer = { 0xca, 0xfe, 0xba, 0xbe };
option = generateOption(Option::V4, DHO_USER_CLASS, buffer);
RunScriptImpl::extractOption(vars, option, "OPTION_PREFIX", "_OPTION_SUFFIX");
ASSERT_EQ(1, vars.size());
- expected = "OPTION_PREFIX_OPTION_SUFFIX=0xCAFEBABE\n";
+ std::string expected = "OPTION_PREFIX_OPTION_77_OPTION_SUFFIX=0xCAFEBABE\n";
EXPECT_EQ(expected, join(vars));
}
ProcessEnvVars vars;
OptionPtr option;
RunScriptImpl::extractOption(vars, option, "OPTION_SUBOPTION_PREFIX", "_OPTION_SUBOPTION_SUFFIX");
- ASSERT_EQ(1, vars.size());
- string expected = "OPTION_SUBOPTION_PREFIX_OPTION_SUBOPTION_SUFFIX=\n";
- EXPECT_EQ(expected, join(vars));
- vars.clear();
+ ASSERT_EQ(0, vars.size());
OptionBuffer data;
option = generateOption(Option::V4, DHO_DHCP_AGENT_OPTIONS, data);
uint8_t subscriber_id[] = { 0x1a, 0x2b, 0x3c, 0x4d, 0x5e, 0x6f };
option->addOption(subscriber_id_opt);
RunScriptImpl::extractSubOption(vars, option, RAI_OPTION_SUBSCRIBER_ID, "OPTION_SUBOPTION_PREFIX", "_OPTION_SUBOPTION_SUFFIX");
ASSERT_EQ(1, vars.size());
- expected = "OPTION_SUBOPTION_PREFIX_OPTION_SUBOPTION_SUFFIX=0x1A2B3C4D5E6F\n";
+ std::string expected = "OPTION_SUBOPTION_PREFIX_OPTION_82_SUB_OPTION_6_OPTION_SUBOPTION_SUFFIX=0x1A2B3C4D5E6F\n";
EXPECT_EQ(expected, join(vars));
}
ProcessEnvVars vars;
Pkt4Ptr pkt4;
RunScriptImpl::extractPkt4(vars, pkt4, "PKT4_PREFIX", "_PKT4_SUFFIX");
- ASSERT_EQ(25, vars.size());
+ ASSERT_EQ(22, vars.size());
string expected = "PKT4_PREFIX_TYPE_PKT4_SUFFIX=\n"
"PKT4_PREFIX_TXID_PKT4_SUFFIX=\n"
"PKT4_PREFIX_LOCAL_ADDR_PKT4_SUFFIX=\n"
"PKT4_PREFIX_LOCAL_HWADDR_PKT4_SUFFIX=\n"
"PKT4_PREFIX_LOCAL_HWADDR_TYPE_PKT4_SUFFIX=\n"
"PKT4_PREFIX_REMOTE_HWADDR_PKT4_SUFFIX=\n"
- "PKT4_PREFIX_REMOTE_HWADDR_TYPE_PKT4_SUFFIX=\n"
- "PKT4_PREFIX_RAI_PKT4_SUFFIX=\n"
- "PKT4_PREFIX_RAI_CIRCUIT_ID_PKT4_SUFFIX=\n"
- "PKT4_PREFIX_RAI_REMOTE_ID_PKT4_SUFFIX=\n";
+ "PKT4_PREFIX_REMOTE_HWADDR_TYPE_PKT4_SUFFIX=\n";
EXPECT_EQ(expected, join(vars));
vars.clear();
pkt4 = generatePkt4();
"PKT4_PREFIX_LOCAL_HWADDR_TYPE_PKT4_SUFFIX=1\n"
"PKT4_PREFIX_REMOTE_HWADDR_PKT4_SUFFIX=00:01:02:03\n"
"PKT4_PREFIX_REMOTE_HWADDR_TYPE_PKT4_SUFFIX=1\n"
- "PKT4_PREFIX_RAI_PKT4_SUFFIX=0x0105686F776479020587F67977EF06061A2B3C4D5E6F\n"
- "PKT4_PREFIX_RAI_CIRCUIT_ID_PKT4_SUFFIX=0x686F776479\n"
- "PKT4_PREFIX_RAI_REMOTE_ID_PKT4_SUFFIX=0x87F67977EF\n";
+ "PKT4_PREFIX_OPTION_82_PKT4_SUFFIX=0x0105686F776479020587F67977EF06061A2B3C4D5E6F\n"
+ "PKT4_PREFIX_OPTION_82_SUB_OPTION_1_PKT4_SUFFIX=0x686F776479\n"
+ "PKT4_PREFIX_OPTION_82_SUB_OPTION_2_PKT4_SUFFIX=0x87F67977EF\n";
EXPECT_EQ(expected, join(vars));
}