Re: VRRP packets with duplicate AH sequence number

Quentin Armitage <[email protected]> Wed, 17 May 2017 11:59:58 +0100
Newsgroups gmane.linux.keepalived.devel
Organization The Armitage family
Message-ID <[email protected]>
Aleksey

Since the patch doesn't apply, just add the line
    log_message(LOG_INFO, "Sending advert with seq no %d",
vrrp->ipsecah_counter->seq_number);
at the correct place (i.e. the line before "return sendmsg(...") in
function vrrp_send_pkt() in keepalived/vrrp/vrrp.c at around line 1124.

Once you have keepalived built with the line above included, then we
will be able to see whether keepalived is sending messages with the same
sequence number, or whether something else is duplicating the packets.

Quentin

On Wed, 2017-05-17 at 13:40 +0300, Aleksey wrote:


> I tried applying the patch but failed:
> 
> root@NODE2:~# patch -p0 <123.txt
> Ignoring potentially dangerous file name 
> /root/keepalived-1.3.5/keepalived/vrrp/vrrp.c
> can't find file to patch at input line 3
> Perhaps you used the wrong -p or --strip option?
> The text leading up to this was:
> --------------------------
> |--- root/123.txt
> |+++ /root/keepalived-1.3.5/keepalived/vrrp/vrrp.c
> --------------------------
> File to patch: /root/keepalived-1.3.5/keepalived/vrrp/vrrp.c
> patching file /root/keepalived-1.3.5/keepalived/vrrp/vrrp.c
> patch: **** malformed patch at line 10: }
> 
> root@NODE2:~# cat 123.txt
> --- root/123.txt
> +++ /root/keepalived-1.3.5/keepalived/vrrp/vrrp.c
> @@ -1121,6 +1121,7 @@ vrrp_send_pkt(vrrp_t * vrrp, struct 
> sockaddr_storage *addr)
>                  vrrp_build_ancillary_data(&msg, cbuf, src);
>          }
> 
> +log_message(LOG_INFO, "Sending advert with seq no %d", 
> vrrp->ipsecah_counter->seq_number);
>          /* Send the packet */
>          return sendmsg(vrrp->fd_out, &msg, (addr) ? 0 : MSG_DONTROUTE);
> }
> root@NODE2:~# cat -n 123.txt
>       1  --- root/123.txt
>       2  +++ /root/keepalived-1.3.5/keepalived/vrrp/vrrp.c
>       3  @@ -1121,6 +1121,7 @@ vrrp_send_pkt(vrrp_t * vrrp, struct 
> sockaddr_storage *addr)
>       4                  vrrp_build_ancillary_data(&msg, cbuf, src);
>       5          }
>       6
>       7  +log_message(LOG_INFO, "Sending advert with seq no %d", 
> vrrp->ipsecah_counter->seq_number);
>       8          /* Send the packet */
>       9          return sendmsg(vrrp->fd_out, &msg, (addr) ? 0 : 
> MSG_DONTROUTE);
>      10  }
> 
> Probably I'm doing something wrong please point me at this if so.
> 
> Thanks.
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel