f19eb1ceb5afe86c45a55d4fcbb5eed222a69b99
[one.git] / tests / data_plane / vpp_lite_topo / scripts / cmd_mappings.py
1
2 mappings = {}
3
4 class SimpleMapping(object):
5
6   def __init__(self, cmd, cli, vat):
7     if cmd in mappings:
8       raise Exception('{} already in cmd db!'.format(cmd))
9
10     self.cmd = cmd
11     self.cli = cli
12     self.vat = vat
13     mappings[cmd] = self
14
15   def generate(self, mode, args):
16     s = ''
17     # simply append arguments string to right command
18     if mode == 'vat':
19       s = self.vat + ' ' + args
20     else:
21       s = self.cli + ' ' + args
22     return s
23
24
25 class CustomMapping(SimpleMapping):
26
27   def generate(self, mode, args):
28     s = ''
29     if mode == 'vat':
30       s = self.vat
31     else:
32       s = self.cli
33
34     args = args.split(' ')
35     return s.format(*args)
36
37
38 class RepeatableLocators(SimpleMapping):
39
40   def generate(self, mode, args):
41     name = args[:args.index(' ')]  # first word is ls name
42     locs = args[args.index(' '):]
43
44     if mode == 'vat':
45       s = self.vat
46     else:
47       s = self.cli
48
49     s = s + ' ' + name + locs
50     return s
51
52
53 SimpleMapping('lisp_state', 'one', 'one_enable_disable')
54 SimpleMapping('lisp_map_resolver', 'one map-resolver', 'one_add_del_map_resolver')
55 SimpleMapping('lisp_map_server', 'one map-server', 'one_add_del_map_server')
56 SimpleMapping('lisp_local_eid', 'one eid-table', 'one_add_del_local_eid')
57 SimpleMapping('lisp_remote_mapping', 'one remote-mapping', 'one_add_del_remote_mapping')
58 SimpleMapping('lisp_pitr', 'one pitr ls', 'one_pitr_set_locator_set locator-set')
59 SimpleMapping('lisp_xtr_mode', 'one xtr mode', 'one_enable_disable_xtr_mode')
60 SimpleMapping('lisp_petr_mode', 'one petr mode', 'one_enable_disable_petr_mode')
61 SimpleMapping('lisp_pitr_mode', 'one pitr mode', 'one_enable_disable_pitr_mode')
62 SimpleMapping('lisp_adjacency', 'one adjacency', 'one_add_del_adjacency')
63 SimpleMapping('lisp_map_request_mode', 'one map-request mode', 'one_map_request_mode')
64 SimpleMapping('set_if_ip', 'set int ip address', 'sw_interface_add_del_address')
65 SimpleMapping('lisp_rloc_probe_state', 'one rloc-probe', 'one_rloc_probe_enable_disable')
66 SimpleMapping('lisp_map_register_state', 'one map-register', 'one_map_register_enable_disable')
67 SimpleMapping('lisp_stats', 'one statistics', 'one_stats_enable_disable')
68 SimpleMapping('lisp_l2_arp', 'one l2 arp', 'one_add_del_l2_arp_entry')
69 SimpleMapping('lisp_ndp_entry', 'one ndp', 'one_add_del_ndp_entry')
70 SimpleMapping('lisp_nsh_set_ls', 'one nsh-mapping', 'one_nsh_set_locator_set')
71
72 SimpleMapping('ipsec_sad_add_del_entry', 'TODO', 'ipsec_sad_add_del_entry')
73 SimpleMapping('ipsec_spd_add_del', 'todo', 'ipsec_spd_add_del')
74 SimpleMapping('ipsec_interface_add_del_spd' , 'todo', 'ipsec_interface_add_del_spd')
75 SimpleMapping('ipsec_spd_add_del_entry', 'todo', 'ipsec_spd_add_del_entry')
76
77 CustomMapping('lisp_eid_map_bd',
78               'one eid-table map vni {0} bd {1}',
79               'one_eid_table_add_del_map vni {0} bd_index {1}')
80 CustomMapping('lisp_eid_map_vrf',
81               'one eid-table map vni {0} vrf {1}',
82               'one_eid_table_add_del_map vni {0} vrf {1}')
83 CustomMapping('set_if_l2_bridge', 'set interface l2 bridge {0} {1}',
84               'sw_interface_set_l2_bridge {0} bd_id {1}')
85 CustomMapping('set_if_ip_table', 'set interface ip table {0} {1}',
86               'sw_interface_set_table {0} vrf {1}')
87 CustomMapping('lisp_locator_set_with_locator',
88               'one locator-set add {0} iface {1} p {2} w {3}',
89               'one_add_del_locator_set locator-set {0} iface {1} p {2} w {3}')
90 CustomMapping('create_host_iface',
91     'create host-interface name {0}\n'
92     'set int state host-{0} up\n'
93     'set int ip address host-{0} {1}',
94
95     'af_packet_create name {0}\n'
96     'sw_interface_set_flags host-{0} admin-up link-up\n'
97     'sw_interface_add_del_address host-{0} {1}')
98
99 CustomMapping('create_host_iface_vrf',
100     'create host-interface name {0}\n'
101     'set int state host-{0} up\n'
102     'set interface ip table host-{0} {2}\n'
103     'set int ip address host-{0} {1}',
104
105     'af_packet_create name {0}\n'
106     'sw_interface_set_flags host-{0} admin-up link-up\n'
107     'sw_interface_set_table host-{0} vrf {2}\n'
108     'sw_interface_add_del_address host-{0} {1}')
109
110 CustomMapping('create_host_iface_vrf_v6',
111     'create host-interface name {0}\n'
112     'set int state host-{0} up\n'
113     'set interface ip6 table host-{0} {2}\n'
114     'set int ip address host-{0} {1}',
115
116     'af_packet_create name {0}\n'
117     'sw_interface_set_flags host-{0} admin-up link-up\n'
118     'sw_interface_set_table host-{0} vrf {2} ipv6\n'
119     'sw_interface_add_del_address host-{0} {1}')
120
121 RepeatableLocators('lisp_ls_multiple_locs',
122                    'one locator-set add',
123                    'one_add_del_locator_set locator-set')
124