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

网络

开发平台:

Unix_Linux

  1. head 1.1;
  2. access;
  3. symbols;
  4. locks
  5. dls:1.1; strict;
  6. comment @ * @;
  7. 1.1
  8. date 97.09.21.19.26.41; author dls; state Dist;
  9. branches;
  10. next ;
  11. desc
  12. @@
  13. 1.1
  14. log
  15. @pre-3e code
  16. @
  17. text
  18. @/* icsetsrc.c - icsetsrc */
  19. #include <conf.h>
  20. #include <kernel.h>
  21. #include <network.h>
  22. /*------------------------------------------------------------------------
  23.  *  icsetsrc -  set the source address on an ICMP packet
  24.  *------------------------------------------------------------------------
  25.  */
  26. void icsetsrc(pip)
  27. struct ip *pip;
  28. {
  29. int i;
  30. for (i=0; i<Net.nif; ++i) {
  31. if (i == NI_LOCAL)
  32. continue;
  33. if (netmatch(pip->ip_dst,nif[i].ni_ip,nif[i].ni_mask,0))
  34. break;
  35. }
  36. if (i == Net.nif)
  37. pip->ip_src = ip_anyaddr;
  38. else
  39. pip->ip_src = nif[i].ni_ip;
  40. }
  41. @