
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							\
  }									\
}

