]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Merge commit '13c6cf8a7430a6b133e46525256eb5554b3f0a2b' into thread-next
authorMaria Matejka <mq@ucw.cz>
Sun, 28 Jan 2024 22:09:47 +0000 (23:09 +0100)
committerMaria Matejka <mq@ucw.cz>
Sun, 28 Jan 2024 22:09:47 +0000 (23:09 +0100)
1  2 
proto/bfd/bfd.c
proto/bfd/packets.c
proto/bgp/bgp.c
proto/rip/rip.c

diff --cc proto/bfd/bfd.c
Simple merge
index fa8c328f9a79b38a05025fdc78e7c532c0979f17,e2ec5988fc4d678ae9027dff368037ac95c24bea..64e0c5560fc5604513fd26a332ea60e62785de54
@@@ -430,16 -430,17 +430,16 @@@ bfd_open_rx_sk(struct bfd_proto *p, in
    /* TODO: configurable ToS and priority */
    sk->tos = IP_PREC_INTERNET_CONTROL;
    sk->priority = sk_priority_control;
 -  sk->flags = SKF_THREAD | SKF_LADDR_RX | (!multihop ? SKF_TTL_RX : 0);
 +  sk->flags = SKF_LADDR_RX | (!multihop ? SKF_TTL_RX : 0);
  
 -  if (sk_open(sk) < 0)
 +  if (sk_open(sk, p->p.loop) < 0)
      goto err;
  
 -  sk_start(sk);
    return sk;
  
 err:
+ err:
    sk_log_error(sk, p->p.name);
 -  rfree(sk);
 +  sk_close(sk);
    return NULL;
  }
  
@@@ -461,16 -462,17 +461,16 @@@ bfd_open_rx_sk_bound(struct bfd_proto *
    /* TODO: configurable ToS and priority */
    sk->tos = IP_PREC_INTERNET_CONTROL;
    sk->priority = sk_priority_control;
 -  sk->flags = SKF_THREAD | SKF_BIND | (ifa ? SKF_TTL_RX : 0);
 +  sk->flags = SKF_BIND | (ifa ? SKF_TTL_RX : 0);
  
 -  if (sk_open(sk) < 0)
 +  if (sk_open(sk, p->p.loop) < 0)
      goto err;
  
 -  sk_start(sk);
    return sk;
  
 err:
+ err:
    sk_log_error(sk, p->p.name);
 -  rfree(sk);
 +  sk_close(sk);
    return NULL;
  }
  
@@@ -492,15 -494,16 +492,15 @@@ bfd_open_tx_sk(struct bfd_proto *p, ip_
    sk->tos = IP_PREC_INTERNET_CONTROL;
    sk->priority = sk_priority_control;
    sk->ttl = ifa ? 255 : -1;
 -  sk->flags = SKF_THREAD | SKF_BIND | SKF_HIGH_PORT;
 +  sk->flags = SKF_BIND | SKF_HIGH_PORT;
  
 -  if (sk_open(sk) < 0)
 +  if (sk_open(sk, p->p.loop) < 0)
      goto err;
  
 -  sk_start(sk);
    return sk;
  
 err:
+ err:
    sk_log_error(sk, p->p.name);
 -  rfree(sk);
 +  sk_close(sk);
    return NULL;
  }
diff --cc proto/bgp/bgp.c
index 49078520b6c9c08d8a729d7deeb5cb62550fd5e8,cd57c32bc69077fa4041f1dae638bd035e833f7d..1c9844387443a1c2b24100499a4fd04b5f4d46ff
@@@ -1422,11 -1259,11 +1422,11 @@@ bgp_incoming_connection(sock *sk, uint 
  
    if (!acc)
    {
 -    rfree(sk);
 -    return 0;
 +    sk_close(sk);
 +    goto leave;
    }
  
-   hops = p->cf->multihop ? : 1;
+   hops = p->cf->multihop ?: 1;
  
    if (sk_set_ttl(sk, p->cf->ttl_security ? 255 : hops) < 0)
      goto err;
diff --cc proto/rip/rip.c
index 9c03955f6d3b31939d1540084530a1d044695682,4bfb57561be93ac200b020a5125f3317b1f24bc9..bc5bd8b5180b9f5b4ecf1bf1071e180cf735695d
@@@ -77,8 -77,8 +77,9 @@@
   */
  
  #include <stdlib.h>
  #include "rip.h"
 +#include "lib/macro.h"
  
  
  static inline void rip_lock_neighbor(struct rip_neighbor *n);