mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-10 18:38:51 +00:00
Merge pull request #1012 from donaldsharp/eigrp_send_version
eigrpd: Setup eigrp to send FRR version
This commit is contained in:
commit
57a553fd9c
@ -405,6 +405,20 @@ void eigrp_hello_receive(struct eigrp *eigrp, struct ip *iph,
|
|||||||
inet_ntoa(nbr->src));
|
inet_ntoa(nbr->src));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u_int32_t FRR_MAJOR;
|
||||||
|
u_int32_t FRR_MINOR;
|
||||||
|
|
||||||
|
void eigrp_sw_version_initialize(void)
|
||||||
|
{
|
||||||
|
char ver_string[] = VERSION;
|
||||||
|
char *dash = strstr(ver_string, "-");
|
||||||
|
|
||||||
|
if (dash)
|
||||||
|
dash[0] = '\0';
|
||||||
|
|
||||||
|
sscanf(ver_string, "%d.%d", &FRR_MAJOR, &FRR_MINOR);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fn eigrp_sw_version_encode
|
* @fn eigrp_sw_version_encode
|
||||||
*
|
*
|
||||||
@ -425,10 +439,8 @@ static u_int16_t eigrp_sw_version_encode(struct stream *s)
|
|||||||
stream_putw(s, EIGRP_TLV_SW_VERSION);
|
stream_putw(s, EIGRP_TLV_SW_VERSION);
|
||||||
stream_putw(s, length);
|
stream_putw(s, length);
|
||||||
|
|
||||||
// encode the version of quagga we're running
|
stream_putc(s, FRR_MAJOR); //!< major os version
|
||||||
// DVS: need to figure out a cleaner way to do this
|
stream_putc(s, FRR_MINOR); //!< minor os version
|
||||||
stream_putc(s, 0); //!< major os version
|
|
||||||
stream_putc(s, 99); //!< minor os version
|
|
||||||
|
|
||||||
/* and the core eigrp version */
|
/* and the core eigrp version */
|
||||||
stream_putc(s, EIGRP_MAJOR_VERSION);
|
stream_putc(s, EIGRP_MAJOR_VERSION);
|
||||||
|
@ -159,6 +159,8 @@ int main(int argc, char **argv, char **envp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
eigrp_sw_version_initialize();
|
||||||
|
|
||||||
/* EIGRP master init. */
|
/* EIGRP master init. */
|
||||||
eigrp_master_init();
|
eigrp_master_init();
|
||||||
eigrp_om->master = frr_init();
|
eigrp_om->master = frr_init();
|
||||||
|
@ -71,6 +71,7 @@ extern int eigrp_unack_multicast_packet_retrans(struct thread *);
|
|||||||
* untill there is reason to have their own header, these externs are found in
|
* untill there is reason to have their own header, these externs are found in
|
||||||
* eigrp_hello.c
|
* eigrp_hello.c
|
||||||
*/
|
*/
|
||||||
|
extern void eigrp_sw_version_initialize(void);
|
||||||
extern void eigrp_hello_send(struct eigrp_interface *, u_char,
|
extern void eigrp_hello_send(struct eigrp_interface *, u_char,
|
||||||
struct in_addr *);
|
struct in_addr *);
|
||||||
extern void eigrp_hello_send_ack(struct eigrp_neighbor *);
|
extern void eigrp_hello_send_ack(struct eigrp_neighbor *);
|
||||||
|
Loading…
Reference in New Issue
Block a user