Computer Science 881 Quiz 3 Name_______________________ 1. For each of the following actions indicates whether it occurs in the context of an application process (A), context of a hardware IRQ (H) or the context of a software IRQ (S). (If multiple answers can apply, supply them all). _____ a. Extracting the network layer protocol ID (IP, ARP, etc) from the MAC header _____ b. Enqueuing a received sk_buff on the receive queue of a struct sock _____ c. Reassembly of a fragmented IP packet _____ d. Dequeuing a received sk_buff from the receive queue of a struct sock _____ e. Enqueuing a received sk_buff on the softnet data structure _____ f. Copying received data from the kernel buffer back to user space 2. Describe two conditions under which an unfragmented UDP packet that has been correctly received by the device driver and IS deliverable to an open socket might be discarded instead of being delivered. a - b - 3. Suppose a unicast UDP packet receives a maximum "score" of 2 in the socket matching algorithm but it receives a two on multiple sockets. To which socket(s) is the packet delivered. 4. In IP reassembly a single instance of a struct ipq represents a. a single fragment b. a single packet being reassembled c. all packets presently being resassembled. 5. When a fragement is received and its head-end overlaps the tail-end of a single fragment that has already been received a. the overlapped tail of the b. the overlapping head of the existing fragment is new fragment is discarded discarded c. the ENTIRE existing overlapped d. the entire new fragment is fragment is discarded. discarded 6. Answer the following T or F ____ a. In reassembly the value of "meat" in a struct ipq can never exceed the value of "len" ____ b. A fragment with MF=0 must have an "end" value < qp->len to be acceptable. ____ c. It is never possible for "meat" to equal "len" until reassembly completes 7. How can the IP Fragmentation mechanism be used to generate a DoS attack and how does Linux defend against it? 8. Under what conditions does net_rx_action() return to do_softirq() a. b. c. 9. In the final stage of reassembly a. under what condition is it necessary to dynamically create a new sk_buff and insert it into the fragment chain. b. At what location in the fragment chain will the newly created sk_buff reside? c. what data does that buffer own 10. What does UDP do with a packet that exceeeds the length of the buffer provided by the application