@@ -324,6 +324,40 @@ generatePkt6() {
324
324
pkt6->addOption (OptionPtr (new Option (Option::V6, D6O_CLIENTID,
325
325
generateDUID ()->getDuid ())));
326
326
327
+ Pkt6::RelayInfo relay;
328
+ relay.msg_type_ = DHCPV6_RELAY_FORW;
329
+ relay.hop_count_ = 1 ;
330
+ relay.linkaddr_ = isc::asiolink::IOAddress (" 3001::1" );
331
+ relay.peeraddr_ = isc::asiolink::IOAddress (" fe80::abcd" );
332
+
333
+ const uint8_t rem_data[] = {
334
+ 1 , 2 , 3 , 4 , // enterprise-number
335
+ 0xa , 0xb , 0xc , 0xd , 0xe , 0xf // MAC
336
+ };
337
+
338
+ OptionPtr relay_opt (new Option (Option::V6, D6O_REMOTE_ID,
339
+ OptionBuffer (rem_data, rem_data + sizeof (rem_data))));
340
+
341
+ relay.options_ .insert (make_pair (relay_opt->getType (), relay_opt));
342
+
343
+ const uint8_t sub_data[] = {
344
+ 0x1a , 0x2b , 0x3c , 0x4d , 0x5e , 0x6f
345
+ };
346
+
347
+ relay_opt.reset (new Option (Option::V6, D6O_SUBSCRIBER_ID,
348
+ OptionBuffer (sub_data, sub_data + sizeof (sub_data))));
349
+
350
+ relay.options_ .insert (make_pair (relay_opt->getType (), relay_opt));
351
+
352
+ const string iface_id (" relay1:eth0" );
353
+
354
+ relay_opt.reset (new Option (Option::V6, D6O_INTERFACE_ID,
355
+ OptionBuffer (iface_id.begin (), iface_id.end ())));
356
+
357
+ relay.options_ .insert (make_pair (relay_opt->getType (), relay_opt));
358
+
359
+ pkt6->addRelayInfo (relay);
360
+
327
361
return (pkt6);
328
362
}
329
363
@@ -766,7 +800,7 @@ TEST(RunScript, extractPkt6) {
766
800
vars.clear ();
767
801
pkt6 = generatePkt6 ();
768
802
RunScriptImpl::extractPkt6 (vars, pkt6, " PKT6_PREFIX" , " _PKT6_SUFFIX" );
769
- ASSERT_EQ (12 , vars.size ());
803
+ ASSERT_EQ (15 , vars.size ());
770
804
expected = " PKT6_PREFIX_TYPE_PKT6_SUFFIX=UNKNOWN\n "
771
805
" PKT6_PREFIX_TXID_PKT6_SUFFIX=0\n "
772
806
" PKT6_PREFIX_LOCAL_ADDR_PKT6_SUFFIX=ff02::1:2\n "
@@ -778,7 +812,10 @@ TEST(RunScript, extractPkt6) {
778
812
" PKT6_PREFIX_REMOTE_HWADDR_PKT6_SUFFIX=00:01:02:03\n "
779
813
" PKT6_PREFIX_REMOTE_HWADDR_TYPE_PKT6_SUFFIX=1\n "
780
814
" PKT6_PREFIX_PROTO_PKT6_SUFFIX=UDP\n "
781
- " PKT6_PREFIX_CLIENT_ID_PKT6_SUFFIX=00:01:02:03:04:05:06\n " ;
815
+ " PKT6_PREFIX_CLIENT_ID_PKT6_SUFFIX=00:01:02:03:04:05:06\n "
816
+ " PKT6_PREFIX_OPTION_18_PKT6_SUFFIX=0x72656C6179313A65746830\n "
817
+ " PKT6_PREFIX_OPTION_37_PKT6_SUFFIX=0x010203040A0B0C0D0E0F\n "
818
+ " PKT6_PREFIX_OPTION_38_PKT6_SUFFIX=0x1A2B3C4D5E6F\n " ;
782
819
EXPECT_EQ (expected, join (vars));
783
820
}
784
821
0 commit comments