Computer Science 881 Quiz 5 Name_______________________ 1. The occurence of multiple fib_nodes in an hash chain a. Will occur whenever a routing b. Will occur whenever a routing table has multiple entries table has multiple entries with the same prefix length c. May occur whenever a routing d. May occur only if a routing table has multiple entries table has multiple entries with with the same prefix length the same destination address. 2. A single entry in the Linux routing table best corresponds to a. An element of type b. An element of type struct struct rtable dstentry c. An element of type d. An element of type struct struct fib_node fibinfo 3. When a routing table lookup occurs for an output route a. Both tables will always be a. Both tables will always be searched but a result found searched but a result found in the local table has in the main table has precendence. precendence. c. The main table will be searched d. The local table will be searched first and only if a route is first and only if a route is not found will the local table not found will the main table be searched. be searched. 4. For a fib_node to be used for an output route it is necessary that a. fn_scope < key->scope b. fn_scope > key->scope c. fn_scope <= key->scope d. fn_scope >= key->scope 5. Answer the following questions pertaining to fib_select_default() and fib_detect_death() T or F. ___ a. For a given call to fib_select_default() the value of last_resort will be set at most one time. ___ b. For a given call to fib_select_default() the value of last_resort will be set at least one time. ___ c. For a given call to fib_select_default(), fib_detect_death() will always be called at least one time. ___ d. On the first iteration of the loop in fib_select default if next_fi != res->fi, next_fi will be used to route the packet instead of res->fi. ___ e. The last_resort route will not be used if any fib_node on the chain that is searched has an associated fib_info for which the neighbour structure associated with the fib_info's nh_gw is in the reachable state. 5. How is the source address to be associated with a new output route determined in each of the following three cases: a. key.src == 0 && key.oif != 0 b. key.src == 0 && key.oif != 0 c. key.src != 0 && key.oif != 0 6. When the new route cache element is created, its the src, dst, and oif of the key that must be matched in future route cache lookups will be set to: a. The values originally passed b. The values contained in the to ip_route_output() "new" key structure created in ip_route_output_slow() c. The values actually used as d. a. b. and c. are always src, dst, and oif when sending indentical so they are all true. the packet. 7. For ip_route_input_slow() answer T/F depending upon whether the following would be classified as a "martian" : ___ a. The loopback address 127.0.0.1 ___ b. 140.150.2.11 (assuming no default route nor matching, network or host routing table entry, but that forwarding on the input interface is supported) 8. Precisely how does ip_route_input_slow() distinguish incoming unicast packets that are to be delivered on host from those that that should be forwarded on to another host.