diff --git a/doc/guide/classify.xml b/doc/guide/classify.xml
index e18e993e7e..2aca1e4e31 100644
--- a/doc/guide/classify.xml
+++ b/doc/guide/classify.xml
@@ -169,6 +169,20 @@
sub-optionrelay4[code].hexThe value of
sub-option with code "code" from the DHCPv4 Relay Agent Information option
(option 82)
+
+ Message Type in DHCPv6 packet
+ pkt6.msgtype
+
+ The value of the message type field in the DHCPv6 packet.
+
+
+ Transaction ID in DHCPv6 packet
+ pkt6.transid
+
+ The value of the transaction id in the DHCPv6 packet.
+
@@ -209,6 +223,14 @@ sub-option with code "code" from the DHCPv4 Relay Agent Information option
instance "relay4[code].exists" is supported.
+
+ "pkt6" refers to information from the client request. To access any
+ information from an intermediate relay use "relay6". "pkt6.msgtype"
+ outputs the string representation of the integer value for the message
+ type, for example SOLICIT will be '1'. "pkt6.transid" outputs the string
+ representation of the value of the transaction ID.
+
+
List of Classification Expressions
diff --git a/src/lib/eval/tests/token_unittest.cc b/src/lib/eval/tests/token_unittest.cc
index 176b267113..bd63f1a68f 100644
--- a/src/lib/eval/tests/token_unittest.cc
+++ b/src/lib/eval/tests/token_unittest.cc
@@ -985,4 +985,9 @@ TEST_F(TokenTest, pkt6Fields) {
EXPECT_NO_THROW(t_->evaluate(*pkt6_, values_));
ASSERT_EQ(1, values_.size());
EXPECT_EQ("12345", values_.top());
+
+ // Check that working with a v4 packet generates an error
+ clearStack();
+ ASSERT_NO_THROW(t_.reset(new TokenPkt6(TokenPkt6::TRANSID)));
+ EXPECT_THROW(t_->evaluate(*pkt4_, values_), EvalTypeError);
}