• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/zebra/bgpd/

Lines Matching defs:peer

45   struct peer *peer;
46 struct peer *peer1;
89 /* In case of peer is EBGP, we should set TTL for this connection. */
96 /* Make dummy peer until read Open packet. */
98 zlog_info ("[Event] Make dummy peer structure until read Open packet");
103 peer = peer_create_accept (bgp);
104 SET_FLAG (peer->sflags, PEER_STATUS_ACCEPT_PEER);
105 peer->su = su;
106 peer->fd = bgp_sock;
107 peer->status = Active;
108 peer->local_id = peer1->local_id;
110 /* Make peer's address string. */
112 peer->host = strdup (buf);
115 BGP_EVENT_ADD (peer, TCP_connection_open);
122 bgp_bind (struct peer *peer)
128 if (! peer->ifname)
131 strncpy ((char *)&ifreq.ifr_name, peer->ifname, sizeof (ifreq.ifr_name));
133 ret = setsockopt (peer->fd, SOL_SOCKET, SO_BINDTODEVICE,
137 zlog (peer->log, LOG_INFO, "bind to interface %s failed", peer->ifname);
184 bgp_update_source (struct peer *peer)
190 if (peer->update_if)
192 ifp = if_lookup_by_name (peer->update_if);
200 bgp_bind_address (peer->fd, addr);
204 if (peer->update_source)
205 sockunion_bind (peer->fd, peer->update_source, 0, peer->update_source);
208 /* BGP try to connect to the peer. */
210 bgp_connect (struct peer *peer)
214 /* Make socket for the peer. */
215 peer->fd = sockunion_socket (&peer->su);
216 if (peer->fd < 0)
219 /* If we can get socket for the peer, adjest TTL and make connection. */
220 if (peer_sort (peer) == BGP_PEER_EBGP)
221 sockopt_ttl (peer->su.sa.sa_family, peer->fd, peer->ttl);
223 sockopt_reuseaddr (peer->fd);
224 sockopt_reuseport (peer->fd);
227 bgp_bind (peer);
230 bgp_update_source (peer);
233 if (peer->ifname)
234 ifindex = if_nametoindex (peer->ifname);
238 plog_info (peer->log, "%s [Event] Connect start to %s fd %d",
239 peer->host, peer->host, peer->fd);
241 /* Connect to the remote peer. */
242 return sockunion_connect (peer->fd, &peer->su, htons (peer->port), ifindex);
247 bgp_getsockname (struct peer *peer)
249 if (peer->su_local)
251 XFREE (MTYPE_TMP, peer->su_local);
252 peer->su_local = NULL;
255 if (peer->su_remote)
257 XFREE (MTYPE_TMP, peer->su_remote);
258 peer->su_remote = NULL;
261 peer->su_local = sockunion_getsockname (peer->fd);
262 peer->su_remote = sockunion_getpeername (peer->fd);
264 bgp_nexthop_set (peer->su_local, peer->su_remote, &peer->nexthop, peer);