)]}'
{"os_net_config/utils.py":[{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"c7988d560ac3254389cfee156f486bc7b44b4139","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        if vendor_id \u003d\u003d \"0x15b3\":"},{"line_number":268,"context_line":"            logger.info(\"Mellanox card detected: %s (%s) %s, mapping updated\" %"},{"line_number":269,"context_line":"                        (ifname, driver, pci_address))"},{"line_number":270,"context_line":"            _update_dpdk_map(ifname, pci_address, mac_address, driver)"},{"line_number":271,"context_line":"        return"},{"line_number":272,"context_line":"    if not noop:"},{"line_number":273,"context_line":"        if pci_address:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_3fa08236","line":270,"updated":"2020-02-07 05:01:45.000000000","message":"Dpdk mapping file is required only when the interface is not visible to the kernel. Inorder to re-create the same nic numbering, we need dpdk mapping file. But mellanox case, We dont need to add it to DPDK mapping file, as the interfaces will still visible to the user.\n\nWhat we need to fix is that when we try to access the information, instead of mapping file, get it from the actual interface itself, if the interface is visible.","commit_id":"0ef8b5d866076962bf3d9c1439025509bf6f88a6"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"26e53a08b3252eedb280965417e9006087e2e597","unresolved":false,"context_lines":[{"line_number":385,"context_line":"    if not noop:"},{"line_number":386,"context_line":"        vendor_id \u003d get_vendor_id(ifname)"},{"line_number":387,"context_line":"        device_id \u003d get_device_id(ifname)"},{"line_number":388,"context_line":"        if (vendor_id \u003d\u003d \"0x15b3\" and"},{"line_number":389,"context_line":"            (device_id \u003d\u003d \"0x1007\" or re.match(r\"mlx[3-5]_core\", driver))):"},{"line_number":390,"context_line":"            # Some NICs (i.e. Mellanox ConnectX-3) have only one PCI address"},{"line_number":391,"context_line":"            # associated with multiple ports. Using a PCI device won’t work."}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_fcda5f74","line":388,"updated":"2020-02-18 06:13:01.000000000","message":"This special handling is needed only for mellanox cx3 interfaces, in which both ports of a nic has same pci address. This check should not be altered.","commit_id":"4d648e58d81335f1ddf96dad9e34e7fcf2708e1f"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"26e53a08b3252eedb280965417e9006087e2e597","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            # associated with multiple ports. Using a PCI device won’t work."},{"line_number":392,"context_line":"            # Instead, we should use \"class\u003deth,mac\u003d\u003cMAC\u003e\""},{"line_number":393,"context_line":"            dpdk_devargs \u003d \"class\u003deth,mac\u003d%s\" % interface_mac(ifname)"},{"line_number":394,"context_line":"        else:"},{"line_number":395,"context_line":"            dpdk_devargs \u003d get_stored_pci_address(ifname, noop)"},{"line_number":396,"context_line":"        return dpdk_devargs"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_3c3f9785","line":394,"updated":"2020-02-18 06:13:01.000000000","message":"alternate way is to add elif condition to check if the ifname is still active (in case of intel nics it will not be visible to kernel). if the ifname is visibile, get the pci address directly instead of using get_stored_pci_address function.","commit_id":"4d648e58d81335f1ddf96dad9e34e7fcf2708e1f"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"636134636a69207d4dfd426260a386f59cbf549c","unresolved":false,"context_lines":[{"line_number":396,"context_line":"                # Other Mellanox devices are active and they are not stored"},{"line_number":397,"context_line":"                # in dpdk_mapping.yaml file, so we need to get their pci"},{"line_number":398,"context_line":"                # address with ethtool."},{"line_number":399,"context_line":"                dpdk_devargs \u003d get_pci_address(ifname, noop)"},{"line_number":400,"context_line":"        else:"},{"line_number":401,"context_line":"            dpdk_devargs \u003d get_stored_pci_address(ifname, noop)"},{"line_number":402,"context_line":"        return dpdk_devargs"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_1883d106","line":399,"updated":"2020-02-24 08:20:39.000000000","message":"Its good to have an else part with a log message.","commit_id":"663cdc5f9aaf9cbc1f91bfedd6e14e53e4d172d8"}]}
