
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 ip6 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
  no-recycle
  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
  no-recycle
  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
  no-recycle
  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
  no-recycle
  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
  no-recycle
  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
  no-recycle
  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
  }
}

