当通过输出设备向目的地址发送报文时,如果没有源地址,则需要调用inet_select_addr来选择ip地址作为源地址: /* 选择ip地址 通过设备找到ip控制块,从ip控制块中遍历地址列表中的主地址, 优先选择满足范围,满足于目的地址网络部分相同的地址, 找不到则默认第一个满足范围的地址 找不到ip控制块,则走no_in_dev流程 */ __be32 inet_select_addr(const struct net_device *dev, __be32 dst, int scope)…