blob: 9e81b35c1756ae4d5ca53816ffe78d20d339c28e [file] [log] [blame]
Mohsin Kazmid6c15af2018-10-23 18:00:47 +02001/*
2 * Copyright (c) 2018 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16option version = "1.0.0";
17
18/** \brief Initialize a new virtio pci interface with the given paramters
19 @param client_index - opaque cookie to identify the sender
20 @param context - sender context, to match reply w/ request
21 @param pci_addr - pci address as unsigned 32bit integer:
22 0-15 domain, 16-23 bus, 24-28 slot, 29-31 function
23 @param use_random_mac - let the system generate a unique mac address
24 @param mac_address - mac addr to assign to the interface if use_radom not set
Mohsin Kazmibbd6b742019-05-02 13:54:59 +020025 @param gso_enabled - enable gso feature if available, 1 to enable
Mohsin Kazmid6c15af2018-10-23 18:00:47 +020026 @param features - the virtio features which driver should negotiate with device
27*/
28define virtio_pci_create
29{
30 u32 client_index;
31 u32 context;
32 u32 pci_addr;
33 u8 use_random_mac;
34 u8 mac_address[6];
Mohsin Kazmibbd6b742019-05-02 13:54:59 +020035 u8 gso_enabled;
Mohsin Kazmid6c15af2018-10-23 18:00:47 +020036 u64 features;
37};
38
39/** \brief Reply for virtio pci create reply
40 @param context - returned sender context, to match reply w/ request
41 @param retval - return code
42 @param sw_if_index - software index allocated for the new virtio pci interface
43*/
44define virtio_pci_create_reply
45{
46 u32 context;
47 i32 retval;
48 u32 sw_if_index;
49};
50
51/** \brief Delete virtio pci interface
52 @param client_index - opaque cookie to identify the sender
53 @param context - sender context, to match reply w/ request
54 @param sw_if_index - interface index of existing virtio pci interface
55*/
56autoreply define virtio_pci_delete
57{
58 u32 client_index;
59 u32 context;
60 u32 sw_if_index;
61};
62
63/** \brief Dump virtio pci interfaces request */
64define sw_interface_virtio_pci_dump
65{
66 u32 client_index;
67 u32 context;
68};
69
70/** \brief Reply for virtio pci interface dump request
71 @param sw_if_index - software index of virtio pci interface
72 @param pci_addr - pci address as unsigned 32bit integer:
73 0-15 domain, 16-23 bus, 24-28 slot, 29-31 function
74 @param mac_addr - native virtio device mac address
75 @param tx_ring_sz - the number of entries of TX ring
76 @param rx_ring_sz - the number of entries of RX ring
77 @param features - the virtio features which driver have negotiated with device
78*/
79define sw_interface_virtio_pci_details
80{
81 u32 context;
82 u32 sw_if_index;
83 u32 pci_addr;
84 u8 mac_addr[6];
85 u16 tx_ring_sz;
86 u16 rx_ring_sz;
87 u64 features;
88};
89
90/*
91 * Local Variables:
92 * eval: (c-set-style "gnu")
93 * End:
94 */