mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.0 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/package/tsa/zebra/00zebra-0.93b-bgpd-hash.patch
  9. # ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2 of the License, or
  14. # (at your option) any later version. A copy of the GNU General Public
  15. # License can be found at Documentation/COPYING.
  16. #
  17. # Many people helped and are helping developing ROCK Linux. Please
  18. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  19. # file for details.
  20. #
  21. # --- ROCK-COPYRIGHT-NOTE-END ---
  22. --- ./bgpd/bgp_aspath.c Wed Jun 19 12:24:24 2002
  23. +++ ./bgpd/bgp_aspath.c Tue Aug 6 11:21:29 2002
  24. @@ -1111,19 +1111,22 @@
  25. return aspath;
  26. }
  27. -/* Make hash value by raw aspath data. */
  28. +/* Make hash value by raw aspath data. Produces a 16-19 bit hash */
  29. unsigned int
  30. aspath_key_make (struct aspath *aspath)
  31. {
  32. unsigned int key = 0;
  33. int length;
  34. - caddr_t pnt;
  35. + unsigned short *pnt;
  36. - length = aspath->length;
  37. - pnt = aspath->data;
  38. + length = aspath->length / 2;
  39. + pnt = (unsigned short *) aspath->data;
  40. while (length)
  41. - key += pnt[--length];
  42. + {
  43. + key += *pnt++;
  44. + length--;
  45. + }
  46. return key;
  47. }
  48. @@ -1143,7 +1146,7 @@
  49. void
  50. aspath_init ()
  51. {
  52. - ashash = hash_create (aspath_key_make, aspath_cmp);
  53. + ashash = hash_create_size (131072, aspath_key_make, aspath_cmp);
  54. }
  55. /* return and as path value */
  56. @@ -1167,7 +1170,7 @@
  57. as = (struct aspath *) backet->data;
  58. - vty_out (vty, "[%p:%d] (%ld) ", backet, backet->key, as->refcnt);
  59. + vty_out (vty, "[%p:%u] (%ld) ", backet, backet->key, as->refcnt);
  60. vty_out (vty, "%s%s", as->str, VTY_NEWLINE);
  61. }