Subject: Re: IPSEC still fails on BETA2/vax
To: None <itojun@iijlab.net>
From: Olaf Seibert <rhialto@polderland.nl>
List: current-users
Date: 07/12/2002 01:20:06
On Thu 11 Jul 2002 at 02:37:32 +0200, Olaf Seibert wrote:
> More again tomorrow :-)

I went trough several cycles of edit/compile/run/crash/fsck, and I can
present this log. If you look at the source code of the respective
functions it should be clear where each message comes from; they are
placed before the event they describe. ISP = Interrupt Stack Pointer?

bash-2.04# ping azenomei
esp_algorithm_lookup(3)
esp_schedule
esp_3des_schedlen
esp_3des_schedule
esp_cbc_encrypt
esp_3des_blockencrypt
esp_3des_blockencrypt
esp_3des_blockencrypt
esp_3des_blockencrypt
esp_3des_blockencrypt
esp_3des_blockencrypt
ah_algorithm_lookup 3
esp_auth entering
esp_auth calling ah_algorithm_lookup(3)
ah_algorithm_lookup 3
esp_auth returned from ah_algorithm_lookup(3)
esp_auth calling algo->sumsiz()
esp_auth returned from algo->sumsiz()
esp_auth calling (ah)algo 0x801656b4->init(0x8aad3ad0, 0x88671800)
ah_hmac_sha1_init
ah_hmac_sha1_init calling malloc(220)
ah_hmac_sha1_init ipad=0x88693a00 opad=0x88693a40 ctxt=0x88693a80
ah_hmac_sha1_init NOT 64 < _KEYLEN; SHA1Init()
ah_hmac_sha1_init bzero(ipad=0x88693a00, 64)
ah_hmac_sha1_init bzero(opad=0x88693a40, 64)
ah_hmac_sha1_init bcopy(key=0x886623a8, ipad=0x88693a00, keylen=20)
ah_hmac_sha1_init bcopy(key=0x886623a8, opad=0x88693a00, keylen=20)
ah_hmac_sha1_init xorloop
ah_hmac_sha1_init SHA1Init(0x88693a80)
ah_hmac_sha1_init SHA1Update(0x88693a80, ipad=0x88693a00, 64)
ah_hmac_sha1_init returning 0
esp_auth returned from (ah)algo->init()
esp_auth calling algo->update()
ah_hmac_sha1_loop
esp_auth returned from algo->update()
esp_auth calling algo->update() 2
ah_hmac_sha1_loop
esp_auth returned from algo->update() 2
esp_auth calling algo->result()
ah_hmac_sha1_result
ah_hmac_sha1_result ipad=0x88693a00 opad=0x88693a40 ctxt=0x88693a80
ah_hmac_sha1_result returning
esp_auth returned from algo->result()
esp_auth returning 0


esp4_input
esp_algorithm_lookup(3)
ah_algorithm_lookup 3
esp4_input calling esp_auth
esp_auth entering
esp_auth calling ah_algorithm_lookup(3)
ah_algorithm_lookup 3
esp_auth returned from ah_algorithm_lookup(3)
esp_auth calling algo->sumsiz()
esp_auth returned from algo->sumsiz()
esp_auth calling (ah)algo 0x801656b4->init(0x803376b0, 0x88605480)
ah_hmac_sha1_init
ah_hmac_sha1_init calling malloc(220)
ah_hmac_sha1_init ipad=0x88693400 opad=0x88693440 ctxt=0x88693480
ah_hmac_sha1_init NOT 64 < _KEYLEN; SHA1Init()
ah_hmac_sha1_init bzero(ipad=0x88693400, 64)
ah_hmac_sha1_init bzero(opad=0x88693440, 64)
ah_hmac_sha1_init bcopy(key=0x886622c8, ipad=0x88693400, keylen=20)
ah_hmac_sha1_init bcopy(key=0x886622c8, opad=0x88693400, keylen=20)
ah_hmac_sha1_init xorloop
ah_hmac_sha1_init SHA1Init(0x88693480)
ah_hmac_sha1_init SHA1Update(0x88693480, ipad=0x88693400, 64)

?04 ISP ERR
    PC = 8012B082

The next line would have been "ah_hmac_sha1_init returning 0", which
occurs once already for generating the outgoing packet.

For Ragge I show some output from the PROM monitor; I don't know for
certain if these values change from run to run but they do seem to vary
with each kernel build. ISP ERR is maybe interrupt stack overflow?

?04 ISP ERR
    PC = 8012B082
>>> exe /n:F r0

?23 ILL CMD
>>> ex /n:F r0

  G 00000000  80189030
  G 00000001  FC6951BB
  G 00000002  00000000
  G 00000003  80189070
  G 00000004  00000000
  G 00000005  00000000
  G 00000006  C2CEA62D
  G 00000007  885EA080
  G 00000008  AABDF68B
  G 00000009  2E299A63
  G 0000000A  98BADCFE
  G 0000000B  88629BC8
  G 0000000C  80337620
  G 0000000D  803375F4
  G 0000000E  80336904
  G 0000000F  8012B082
>>> ex pc

  G 0000000F  8012B082
>>> ex /v 8012B082		look at code at the PC

  P 0012B082  CD0CA0D0
>>> ex /v /n:20 8012B070	even look at previous code; I am
				not very proficient at decoding VAX
  P 0012B070  8CADCB8C		machine language but meybe it helps.
  P 0012B074  CD90AD59
  P 0012B078  90ADFCAD
  P 0012B07C  ADD088AD
  P 0012B080  A0D050E8
  P 0012B084  F344CD0C
  P 0012B088  44CD189C
  P 0012B08C  CB84ADF3
  P 0012B090  FF00FF8F
  P 0012B094  AD84AD00
  P 0012B098  CD089C80
  P 0012B09C  7CCDF344
  P 0012B0A0  008FCBFF
  P 0012B0A4  CDFF00FF
  P 0012B0A8  78CDFF7C
  P 0012B0AC  78CDC9FF
  P 0012B0B0  CD80ADFF
  P 0012B0B4  ADC1FF74
  P 0012B0B8  FF74CD88
  P 0012B0BC  9CFF70CD
  P 0012B0C0  51F4AD05
  P 0012B0C4  FF70CDD0
  P 0012B0C8  E6419E56
  P 0012B0CC  5A827999
  P 0012B0D0  C0FF68CD
  P 0012B0D4  ADFF68CD
  P 0012B0D8  AD1E9CF8
  P 0012B0DC  CDF0ADF0
  P 0012B0E0  F0ADECAD
  P 0012B0E4  D2FF64CD
  P 0012B0E8  5CCDF4AD
  P 0012B0EC  5CCDCBFF
  P 0012B0F0  FF64CDFF
>>> ex /v 80336904		register 0E is the stack pointer I guess

?26 ILL ADR
>>> ex /v 80336900

?26 ILL ADR

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert - rhialto@       -- Woe betide the one who feels
\X/ polderland.nl  -- remorse without sin - Tom Poes, "Het boze oog", 4444.