It has already happened more than once that a BFD session to cr3-knams is reported down in icinga, but the following happens:
- on the other router/port, show bfd session reports ipv6 sessions to cr3-knams down (not ipv4 even the last time that happened IIRC)
- on cr3-knams, show bfd session reports all up.
- No ospf issue reported, afaik, on both sides (ospf/ospf3)
Executing clear bfd session address X on cr3-knams solves the problem. Logs of the last event:
- Before execution of clear bfd session:
elukey@cr3-knams> show log messages | match bfd Dec 12 23:23:24 cr3-knams bfdd[5731]: BFD Session 208.80.153.217 (IFL 355) state Up -> Down LD/RD(19/19) Up time:2d 21:50 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 23:23:24 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 12 23:23:24 cr3-knams rpd[5844]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.217 (External AS 65002): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 12 23:23:24 cr3-knams rpd[5844]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.217 (External AS 65002) changed state from Established to Idle (event BfdDown) (instance master) Dec 12 23:23:24 cr3-knams rpd[5844]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.217 (realm ospf-v2 xe-0/1/5.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 23:23:57 cr3-knams bfdd[5731]: BFD Session fe80::ee38:7300:17e8:a04e (IFL 355) state Up -> Down LD/RD(33/389) Up time:2d 21:51 Local diag: AdminDown Remote diag: None Reason: Received Upstream Destroy Session. Dec 12 23:23:57 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 33, new state: down, interface: xe-0/1/5.23, peer addr: fe80::ee38:7300:17e8:a04e Dec 12 23:24:16 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 12 23:24:22 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 35, new state: up, interface: xe-0/1/5.23, peer addr: fe80::ee38:7300:17e8:a04e Dec 12 23:42:04 cr3-knams bfdd[5731]: BFD Session 208.80.153.217 (IFL 355) state Up -> Down LD/RD(19/19) Up time:00:17:48 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 23:42:04 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 12 23:42:04 cr3-knams rpd[5844]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.217 (External AS 65002): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 12 23:42:04 cr3-knams rpd[5844]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.217 (External AS 65002) changed state from Established to Idle (event BfdDown) (instance master) Dec 12 23:42:04 cr3-knams rpd[5844]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.217 (realm ospf-v2 xe-0/1/5.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 23:42:23 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 13 03:40:24 cr3-knams bfdd[5731]: BFD Session 208.80.153.217 (IFL 355) state Up -> Down LD/RD(19/19) Up time:03:58:02 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 13 03:40:24 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 13 03:40:38 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 13 03:56:00 cr3-knams bfdd[5731]: BFD Session 208.80.153.217 (IFL 355) state Up -> Down LD/RD(19/19) Up time:00:15:23 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 13 03:56:00 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 13 03:56:11 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 13 05:21:35 cr3-knams bfdd[5731]: BFD Session 208.80.153.217 (IFL 355) state Up -> Down LD/RD(19/19) Up time:01:25:24 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 13 05:21:35 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/5.23, peer addr: 208.80.153.217 Dec 13 05:21:35 cr3-knams rpd[5844]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.217 (External AS 65002): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 13 05:21:35 cr3-knams rpd[5844]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.217 (External AS 65002) changed state from Established to Idle (event BfdDown) (instance master) Dec 13 05:21:35 cr3-knams rpd[5844]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.217 (realm ospf-v2 xe-0/1/5.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 13 05:21:45 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/5.23, peer addr: 208.80.153.217
- After execution of clear bfd session:
Dec 13 07:54:14 cr3-knams mgd[4988]: UI_CMDLINE_READ_LINE: User 'elukey', command 'clear bfd session address fe80::ee38:7300:17e8:a04e ' Dec 13 07:54:14 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 35, new state: down, interface: xe-0/1/5.23, peer addr: fe80::ee38:7300:17e8:a04e Dec 13 07:54:19 cr3-knams bfdd[5731]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 35, new state: up, interface: xe-0/1/5.23, peer addr: fe80::ee38:7300:17e8:a04e
Logs on the other side (this time eqdfw):
Dec 12 03:00:38 cr2-eqdfw bfdd[13844]: BFD Session fe80::ee38:7300:75:34ba (IFL 332) state Up -> Down LD/RD(384/175) Up time:1w3d 04:10 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 03:00:38 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 384, new state: down, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 03:00:38 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor fe80::ee38:7300:75:34ba (realm ipv6-unicast gr-0/0/0.1 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 03:00:38 cr2-eqdfw rpd[13967]: RPD_PIM_NBRDOWN: Instance PIM.master: PIM neighbor fe80::ee38:7300:75:34ba (gr-0/0/0.1) removed due to: bfd state down Dec 12 03:00:41 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 384, new state: up, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 07:38:22 cr2-eqdfw bfdd[13844]: BFD Session 198.35.26.204 (IFL 332) state Up -> Down LD/RD(385/176) Up time:1w3d 08:47 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 07:38:22 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 385, new state: down, interface: gr-0/0/0.1, peer addr: 198.35.26.204 Dec 12 07:38:22 cr2-eqdfw rpd[13967]: RPD_PIM_NBRDOWN: Instance PIM.master: PIM neighbor 198.35.26.204 (gr-0/0/0.1) removed due to: bfd state down Dec 12 07:38:22 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 198.35.26.204 (realm ospf-v2 gr-0/0/0.1 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 07:38:23 cr2-eqdfw bfdd[13844]: BFD Session fe80::ee38:7300:75:34ba (IFL 332) state Up -> Down LD/RD(384/175) Up time:04:37:41 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 07:38:23 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 384, new state: down, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 07:38:23 cr2-eqdfw rpd[13967]: RPD_PIM_NBRDOWN: Instance PIM.master: PIM neighbor fe80::ee38:7300:75:34ba (gr-0/0/0.1) removed due to: bfd state down Dec 12 07:38:36 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 385, new state: up, interface: gr-0/0/0.1, peer addr: 198.35.26.204 Dec 12 07:38:37 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 384, new state: up, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 07:40:07 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 385, new state: down, interface: gr-0/0/0.1, peer addr: 198.35.26.204 Dec 12 07:40:07 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 198.35.26.204 (realm ospf-v2 gr-0/0/0.1 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 07:40:07 cr2-eqdfw rpd[13967]: RPD_PIM_NBRDOWN: Instance PIM.master: PIM neighbor 198.35.26.204 (gr-0/0/0.1) removed due to: bfd state down Dec 12 07:40:22 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 384, new state: up, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 07:40:22 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 385, new state: up, interface: gr-0/0/0.1, peer addr: 198.35.26.204 Dec 12 07:40:57 cr2-eqdfw bfdd[13844]: BFD Session fe80::ee38:7300:75:34ba (IFL 332) state Up -> Down LD/RD(384/175) Up time:00:00:35 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 07:40:57 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 384, new state: down, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 07:40:57 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor fe80::ee38:7300:75:34ba (realm ipv6-unicast gr-0/0/0.1 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 07:40:57 cr2-eqdfw rpd[13967]: RPD_PIM_NBRDOWN: Instance PIM.master: PIM neighbor fe80::ee38:7300:75:34ba (gr-0/0/0.1) removed due to: bfd state down Dec 12 07:40:57 cr2-eqdfw bfdd[13844]: BFD Session 198.35.26.204 (IFL 332) state Up -> Down LD/RD(385/176) Up time:00:00:36 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 07:40:57 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 385, new state: down, interface: gr-0/0/0.1, peer addr: 198.35.26.204 Dec 12 07:40:57 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 198.35.26.204 (realm ospf-v2 gr-0/0/0.1 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 07:40:57 cr2-eqdfw rpd[13967]: RPD_PIM_NBRDOWN: Instance PIM.master: PIM neighbor 198.35.26.204 (gr-0/0/0.1) removed due to: bfd state down Dec 12 07:41:03 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 384, new state: up, interface: gr-0/0/0.1, peer addr: fe80::ee38:7300:75:34ba Dec 12 07:41:04 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 385, new state: up, interface: gr-0/0/0.1, peer addr: 198.35.26.204 Dec 12 23:23:24 cr2-eqdfw bfdd[13844]: BFD Session 208.80.153.216 (IFL 340) state Up -> Down LD/RD(19/19) Up time:2d 21:50 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 23:23:24 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 12 23:23:24 cr2-eqdfw rpd[13967]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.216 (External AS 65003): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 12 23:23:24 cr2-eqdfw rpd[13967]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.216 (External AS 65003) changed state from Established to Idle (event BfdDown) (instance master) Dec 12 23:23:24 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.216 (realm ospf-v2 xe-0/1/3.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 23:23:24 cr2-eqdfw bfdd[13844]: BFD Session fe80::7a4f:9b00:174e:8004 (IFL 340) state Up -> Down LD/RD(389/33) Up time:2d 21:50 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 23:23:24 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 389, new state: down, interface: xe-0/1/3.23, peer addr: fe80::7a4f:9b00:174e:8004 Dec 12 23:23:24 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor fe80::7a4f:9b00:174e:8004 (realm ipv6-unicast xe-0/1/3.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 23:24:18 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 12 23:24:22 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 390, new state: up, interface: xe-0/1/3.23, peer addr: fe80::7a4f:9b00:174e:8004 Dec 12 23:42:04 cr2-eqdfw bfdd[13844]: BFD Session fe80::7a4f:9b00:174e:8004 (IFL 340) state Up -> Down LD/RD(390/35) Up time:00:17:42 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 23:42:04 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 390, new state: down, interface: xe-0/1/3.23, peer addr: fe80::7a4f:9b00:174e:8004 Dec 12 23:42:04 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor fe80::7a4f:9b00:174e:8004 (realm ipv6-unicast xe-0/1/3.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 23:42:05 cr2-eqdfw bfdd[13844]: BFD Session 208.80.153.216 (IFL 340) state Up -> Down LD/RD(19/19) Up time:00:17:46 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 12 23:42:05 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 12 23:42:05 cr2-eqdfw rpd[13967]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.216 (External AS 65003): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 12 23:42:05 cr2-eqdfw rpd[13967]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.216 (External AS 65003) changed state from Established to Idle (event BfdDown) (instance master) Dec 12 23:42:05 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.216 (realm ospf-v2 xe-0/1/3.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 12 23:42:21 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 13 03:40:23 cr2-eqdfw bfdd[13844]: BFD Session 208.80.153.216 (IFL 340) state Up -> Down LD/RD(19/19) Up time:03:58:03 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 13 03:40:23 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 13 03:40:23 cr2-eqdfw rpd[13967]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.216 (External AS 65003): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 13 03:40:23 cr2-eqdfw rpd[13967]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.216 (External AS 65003) changed state from Established to Idle (event BfdDown) (instance master) Dec 13 03:40:23 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.216 (realm ospf-v2 xe-0/1/3.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 13 03:40:35 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 13 03:55:59 cr2-eqdfw bfdd[13844]: BFD Session 208.80.153.216 (IFL 340) state Up -> Down LD/RD(19/19) Up time:00:15:24 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 13 03:55:59 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 13 03:55:59 cr2-eqdfw rpd[13967]: bgp_bfd_callback:161: NOTIFICATION sent to 208.80.153.216 (External AS 65003): code 6 (Cease) subcode 9 (Hard Reset), Reason: BFD Session Down Dec 13 03:55:59 cr2-eqdfw rpd[13967]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer 208.80.153.216 (External AS 65003) changed state from Established to Idle (event BfdDown) (instance master) Dec 13 03:55:59 cr2-eqdfw rpd[13967]: RPD_OSPF_NBRDOWN: OSPF neighbor 208.80.153.216 (realm ospf-v2 xe-0/1/3.23 area 0.0.0.0) state changed from Full to Down due to InActiveTimer (event reason: BFD session timed out and neighbor was declared dead) Dec 13 03:56:09 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 13 05:21:36 cr2-eqdfw bfdd[13844]: BFD Session 208.80.153.216 (IFL 340) state Up -> Down LD/RD(19/19) Up time:01:25:27 Local diag: CtlExpire Remote diag: None Reason: Detect Timer Expiry. Dec 13 05:21:36 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_DOWN: local discriminator: 19, new state: down, interface: xe-0/1/3.23, peer addr: 208.80.153.216 Dec 13 05:21:47 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 19, new state: up, interface: xe-0/1/3.23, peer addr: 208.80.153.216
Dec 13 07:54:17 cr2-eqdfw bfdd[13844]: BFDD_TRAP_SHOP_STATE_UP: local discriminator: 391, new state: up, interface: xe-0/1/3.23, peer addr: fe80::7a4f:9b00:174e:8004