]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
sctp: add SCTP_ADDR_MADE_PRIM event
authorXin Long <lucien.xin@gmail.com>
Tue, 8 Oct 2019 11:27:35 +0000 (19:27 +0800)
committerJakub Kicinski <jakub.kicinski@netronome.com>
Thu, 10 Oct 2019 00:06:58 +0000 (17:06 -0700)
sctp_ulpevent_nofity_peer_addr_change() would be called in
sctp_assoc_set_primary() to send SCTP_ADDR_MADE_PRIM event
when this transport is set to the primary path of the asoc.

This event is described in rfc6458#section-6.1.2:

  SCTP_ADDR_MADE_PRIM:  This address has now been made the primary
     destination address.  This notification is provided whenever an
     address is made primary.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
net/sctp/associola.c

index 0d3d7ce7045e2457f56a1b4ebe292e61459d9856..1ba893b85dad79786ec3fd55c2870072c6c4efa9 100644 (file)
@@ -429,6 +429,8 @@ void sctp_assoc_set_primary(struct sctp_association *asoc,
                changeover = 1 ;
 
        asoc->peer.primary_path = transport;
+       sctp_ulpevent_nofity_peer_addr_change(transport,
+                                             SCTP_ADDR_MADE_PRIM, 0);
 
        /* Set a default msg_name for events. */
        memcpy(&asoc->peer.primary_addr, &transport->ipaddr,