X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvat%2Fapi_format.c;h=2f8218e590f59297650fe137342530fb5e7098b8;hb=6d4af8918;hp=98081ee6fb9165f95a075819749e431a0bd3a1de;hpb=cbe25aab3be72154f2c706c39eeba6a77f34450f;p=vpp.git diff --git a/src/vat/api_format.c b/src/vat/api_format.c index 98081ee6fb9..2f8218e590f 100644 --- a/src/vat/api_format.c +++ b/src/vat/api_format.c @@ -7507,6 +7507,7 @@ api_virtio_pci_create (vat_main_t * vam) u8 mac_address[6]; u8 random_mac = 1; u8 gso_enabled = 0; + u8 checksum_offload_enabled = 0; u32 pci_addr = 0; u64 features = (u64) ~ (0ULL); int ret; @@ -7526,6 +7527,8 @@ api_virtio_pci_create (vat_main_t * vam) ; else if (unformat (i, "gso-enabled")) gso_enabled = 1; + else if (unformat (i, "csum-offload-enabled")) + checksum_offload_enabled = 1; else break; } @@ -7541,9 +7544,14 @@ api_virtio_pci_create (vat_main_t * vam) mp->use_random_mac = random_mac; - mp->pci_addr = htonl (pci_addr); + mp->pci_addr.domain = htons (((vlib_pci_addr_t) pci_addr).domain); + mp->pci_addr.bus = ((vlib_pci_addr_t) pci_addr).bus; + mp->pci_addr.slot = ((vlib_pci_addr_t) pci_addr).slot; + mp->pci_addr.function = ((vlib_pci_addr_t) pci_addr).function; + mp->features = clib_host_to_net_u64 (features); mp->gso_enabled = gso_enabled; + mp->checksum_offload_enabled = checksum_offload_enabled; if (random_mac == 0) clib_memcpy (mp->mac_address, mac_address, 6); @@ -11401,7 +11409,12 @@ static void vl_api_sw_interface_virtio_pci_details_t_handler u32 as_u32; } pci_addr_t; pci_addr_t addr; - addr.as_u32 = ntohl (mp->pci_addr); + + addr.domain = ntohs (mp->pci_addr.domain); + addr.bus = mp->pci_addr.bus; + addr.slot = mp->pci_addr.slot; + addr.function = mp->pci_addr.function; + u8 *pci_addr = format (0, "%04x:%02x:%02x.%x", addr.domain, addr.bus, addr.slot, addr.function); @@ -11419,6 +11432,7 @@ static void vl_api_sw_interface_virtio_pci_details_t_handler_json { vat_main_t *vam = &vat_main; vat_json_node_t *node = NULL; + vlib_pci_addr_t pci_addr; if (VAT_JSON_ARRAY != vam->json_tree.type) { @@ -11427,8 +11441,13 @@ static void vl_api_sw_interface_virtio_pci_details_t_handler_json } node = vat_json_array_add (&vam->json_tree); + pci_addr.domain = ntohs (mp->pci_addr.domain); + pci_addr.bus = mp->pci_addr.bus; + pci_addr.slot = mp->pci_addr.slot; + pci_addr.function = mp->pci_addr.function; + vat_json_init_object (node); - vat_json_object_add_uint (node, "pci-addr", ntohl (mp->pci_addr)); + vat_json_object_add_uint (node, "pci-addr", pci_addr.as_u32); vat_json_object_add_uint (node, "sw_if_index", ntohl (mp->sw_if_index)); vat_json_object_add_uint (node, "rx_ring_sz", ntohs (mp->rx_ring_sz)); vat_json_object_add_uint (node, "tx_ring_sz", ntohs (mp->tx_ring_sz)); @@ -20706,7 +20725,7 @@ _(tap_delete_v2, \ " | sw_if_index ") \ _(sw_interface_tap_v2_dump, "") \ _(virtio_pci_create, \ - "pci-addr [use_random_mac | hw-addr ] [features ] [gso-enabled]") \ + "pci-addr [use_random_mac | hw-addr ] [features ] [gso-enabled | csum-offload-enabled]") \ _(virtio_pci_delete, \ " | sw_if_index ") \ _(sw_interface_virtio_pci_dump, "") \