icsetsrc.c
上传用户:lywr2008
上传日期:2022-05-26
资源大小:9k
文件大小:1k
源码类别:

网络

开发平台:

Unix_Linux

  1. /* icsetsrc.c - icsetsrc */
  2. #include <conf.h>
  3. #include <kernel.h>
  4. #include <network.h>
  5. /*------------------------------------------------------------------------
  6.  *  icsetsrc -  set the source address on an ICMP packet
  7.  *------------------------------------------------------------------------
  8.  */
  9. void
  10. icsetsrc(struct ip *pip)
  11. {
  12. int i;
  13. for (i=0; i<Net.nif; ++i) {
  14. if (i == NI_LOCAL)
  15. continue;
  16. if (netmatch(pip->ip_dst,nif[i].ni_ip,nif[i].ni_mask,0))
  17. break;
  18. }
  19. if (i == Net.nif)
  20. pip->ip_src = ip_anyaddr;
  21. else
  22. pip->ip_src = nif[i].ni_ip;
  23. }