set int ip address GigabitEthernet2/1/0 1.2.3.4/24
set int state GigabitEthernet2/1/0 up 
set int state tuntap-0 down


cre sub GigabitEthernet2/1/0 1 dot1q 1 
cre sub GigabitEthernet2/1/0 2 dot1q 2 
cre sub GigabitEthernet2/1/0 3 dot1q 3
cre sub GigabitEthernet2/2/0 1 dot1q 1 
cre sub GigabitEthernet2/2/0 100 dot1q 100 


set int l2 tag-rewrite GigabitEthernet2/1/0.1 pop 1
set int l2 tag-rewrite GigabitEthernet2/1/0.2 pop 1


l2tp session add client 11::1 our 22::2 l2-interface GigabitEthernet2/1/0.1
l2tp session add client 11::1 our 22::3 l2-interface GigabitEthernet2/1/0.2 local-session-id 2 l2-sublayer-present

ip route 11::1/128 via GigabitEthernet2/2/0
set ip neighbor GigabitEthernet2/2/0 11::1 00:02:04:06:08:0a

enable ip6 interface GigabitEthernet2/2/0 

set int ip6 l2tpv3 GigabitEthernet2/2/0

set int state GigabitEthernet2/1/0 up
set int state GigabitEthernet2/1/0.1 up
set int state GigabitEthernet2/1/0.2 up
set int state GigabitEthernet2/1/0.3 up
set int state GigabitEthernet2/2/0 up


trace add pg-input 2

clear error
clear run
clear int

packet-generator new {							\
  name decap								\
  limit 10								\
  size 200-200								\
  node ethernet-input							\
  interface GigabitEthernet2/2/0					\
  data {								\
      IP6: 00:50:00:00:00:01 -> 00:50:56:b7:29:7a 			\
      L2TP: 11::1 -> 22::2 						\
      L2TP: session_id 1 cookie 0xffffffffffffffff 			\
      IP4: 00:55:55:55:00:01 -> 00:dd:dd:dd:00:01			\
      UDP: 1.2.3.4 -> 5.6.7.8						\
      incrementing 8							\
  }									\
}

packet-generator new {							\
  name decap_bad_sid							\
  limit 30								\
  size 200-200								\
  node ethernet-input							\
  interface GigabitEthernet2/2/0					\
  data {								\
      IP6: 00:50:00:00:00:01 -> 00:50:56:b7:29:7a 			\
      L2TP: 11::1 -> 22::2 						\
      L2TP: session_id 0x999 cookie 0xffffffffffffffff			\
      IP4: 00:55:55:55:00:01 -> 00:dd:dd:dd:00:01			\
      UDP: 1.2.3.4 -> 5.6.7.8						\
      incrementing 8							\
  }									\
}

packet-generator new {							\
  name decap_bad_cookie							\
  limit 50								\
  size 200-200								\
  node ethernet-input							\
  interface GigabitEthernet2/2/0					\
  data {								\
      IP6: 00:50:00:00:00:01 -> 00:50:56:b7:29:7a 			\
      L2TP: 11::1 -> 22::2 						\
      L2TP: session_id 1 cookie 0x3333ffffffffffff			\
      IP4: 00:55:55:55:00:01 -> 00:dd:dd:dd:00:01			\
      UDP: 1.2.3.4 -> 5.6.7.8						\
      incrementing 8							\
  }									\
}

packet-generator new {							\
  name encap								\
  limit 100								\
  node ethernet-input							\
  interface GigabitEthernet2/1/0					\
  data {								\
      IP4: 0000.5555.0002 -> 00:00:dd:dd:00:02 vlan 1			\
      UDP: 1.2.3.4 -> 5.6.7.8						\
      incrementing 8							\
  }									\
}

packet-generator new {							\
  name decap_sublayer							\
  limit 300								\
  size 200-200								\
  node ethernet-input							\
  interface GigabitEthernet2/2/0					\
  data {								\
      IP6: 00:50:00:00:00:01 -> 00:50:56:b7:29:7a 			\
      L2TP: 11::1 -> 22::3						\
      L2TP: session_id 2 cookie 0xffffffffffffffff l2_sublayer 0	\
      IP4: 00:55:55:55:00:01 -> 00:dd:dd:dd:00:01			\
      UDP: 1.2.3.4 -> 5.6.7.8						\
      incrementing 8							\
  }									\
}

packet-generator new {							\
  name encap_sublayer							\
  limit 700								\
  node ethernet-input							\
  interface GigabitEthernet2/1/0					\
  data {								\
      IP4: 0000.5555.0002 -> 00:00:dd:dd:00:02 vlan 2			\
      UDP: 1.2.3.4 -> 5.6.7.8						\
      incrementing 8							\
  }									\
}