History log of /freebsd-10.1-release/usr.sbin/arp/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


264688 20-Apr-2014 gnn

MFC: 264174

Speed up the lookup of interfaces when there are a large number
of them, such in a system with a large number of VLANs.

Submitted by: Nick Rogers


256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


255821 23-Sep-2013 glebius

Fix coredump on 'arp -d'.

Submitted by: az
Approved by: re (kib)


250504 11-May-2013 glebius

Rate limit the number of remotely triggered ARP log messages
to 1 log message per second.


246143 31-Jan-2013 glebius

Retire struct sockaddr_inarp.

Since ARP and routing are separated, "proxy only" entries
don't have any meaning, thus we don't need additional field
in sockaddr to pass SIN_PROXY flag.

New kernel is binary compatible with old tools, since sizes
of sockaddr_inarp and sockaddr_in match, and sa_family are
filled with same value.

The structure declaration is left for compatibility with
third party software, but in tree code no longer use it.

Reviewed by: ru, andre, net@


240073 03-Sep-2012 glebius

Provide a sysctl switch that allows to install ARP entries
with multicast bit set. FreeBSD refuses to install such
entries since 9.0, and this broke installations running
Microsoft NLB, which are violating standards.

Tested by: Tarasov Oleg <oleg_tarasov sg-tea.com>


240072 03-Sep-2012 glebius

Explicitly document all variables in the net.link.ether.inet MIB.


236509 03-Jun-2012 joel

Minor spelling fixes.


236500 03-Jun-2012 joel

mdoc: add missing width argument to Bl -tag.


233773 02-Apr-2012 glebius

Historically arp(8) did a route lookup for the entry it is
about to add, and failed if it exist and had invalid data
link type.

Later on, in r201282, this check morphed to other code, but
message "proxy entry exists for non 802 device" still left,
and now it is printed in a case if route prefix found is
equal to current address being added. In other words, when
we are trying to add ARP entry for a network address. The
message is absolutely unrelated and disappointing in this
case.

I don't see anything bad with setting ARP entries for
network addresses. While useless in usual network,
in a /31 RFC3021 it may be necessary. This, remove this code.


233510 26-Mar-2012 joel

mdoc: terminate quoted strings.

Reviewed by: brueffer


216078 30-Nov-2010 glebius

Do not hardcode (20*60), but use current ARP timeout value configured
in kernel.


216076 30-Nov-2010 glebius

That should belong to r216075. Pointy hat on me.


216075 30-Nov-2010 glebius

Use time_uptime instead of non-monotonic time_second to drive ARP
timeouts.

Suggested by: bde


209063 11-Jun-2010 mlaier

Cache the last result from if_indextoname for printing. This speeds up
"arp -an" when using a lot of aliases (on a single interface).

A better fix would include a better interface for if_indextoname than
getting the whole address list from the kernel just to find the one
index->name mapping.

Reported & analyzed by: Nick Rogers
MFC after: 3 days


203919 15-Feb-2010 ru

Show when an ARP entry expires.

MFC after: 1 week


201282 30-Dec-2009 qingli

The proxy arp entries could not be added into the system over the
IFF_POINTOPOINT link types. The reason was due to the routing
entry returned from the kernel covering the remote end is of an
interface type that does not support ARP. This patch fixes this
problem by providing a hint to the kernel routing code, which
indicates the prefix route instead of the PPP host route should
be returned to the caller. Since a host route to the local end
point is also added into the routing table, and there could be
multiple such instantiations due to multiple PPP links can be
created with the same local end IP address, this patch also fixes
the loopback route installation failure problem observed prior to
this patch. The reference count of loopback route to local end would
be either incremented or decremented. The first instantiation would
create the entry and the last removal would delete the route entry.

MFC after: 5 days


201202 29-Dec-2009 jhb

Use reallocf() to simplify some logic.

MFC after: 2 weeks


196216 14-Aug-2009 remko

Remove bogus char cast.

PR: 118014
Submitted by: Gardner Bell <gbell72 at rogers dot com>
Approved by: re (rwatson), imp (mentor, implicit)
MFC after: immediate


193984 11-Jun-2009 des

Lower WARNS due to alignment issues on sparc64.


193976 11-Jun-2009 des

As of sam's r175206, arp builds cleanly at WARNS level 6, but the Makefile
was never updated. Also, clean up the macro that caused the warning in the
first place (no functional changes, just wrapped and reindented).


191635 28-Apr-2009 danger

- xref ndp(8)

PR: docs/134053
Submitted by: Bob Van Zant <bob@veznat.com>
MFC after: 1 week


186500 26-Dec-2008 qingli

This checkin addresses a couple of issues:
1. The "route" command allows route insertion through the interface-direct
option "-iface". During if_attach(), an sockaddr_dl{} entry is created
for the interface and is part of the interface address list. This
sockaddr_dl{} entry describes the interface in detail. The "route"
command selects this entry as the "gateway" object when the "-iface"
option is present. The "arp" and "ndp" commands also interact with the
kernel through the routing socket when adding and removing static L2
entries. The static L2 information is also provided through the
"gateway" object with an AF_LINK family type, similar to what is
provided by the "route" command. In order to differentiate between
these two types of operations, a RTF_LLDATA flag is introduced. This
flag is set by the "arp" and "ndp" commands when issuing the add and
delete commands. This flag is also set in each L2 entry returned by the
kernel. The "arp" and "ndp" command follows a convention where a RTM_GET
is issued first followed by a RTM_ADD/DELETE. This RTM_GET request fills
in the fields for a "rtm" object, which is reinjected into the kernel by
a subsequent RTM_ADD/DELETE command. The entry returend from RTM_GET
is a prefix route, so the RTF_LLDATA flag must be specified when issuing
the RTM_ADD/DELETE messages.

2. Enforce the convention that NET_RT_FLAGS with a 0 w_arg is the
specification for retrieving L2 information. Also optimized the
code logic.

Reviewed by: julian


186485 25-Dec-2008 trhodes

Print a warning when blackhole and reject are used together.
Update arp.8 manual page syntax.

PR: 125896
Submitted by: Marc Olzheim <marcolz@stack.nl>
Approved by: sam


186119 15-Dec-2008 qingli

This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
the last piece of the puzzle, Kip has also been conducting
active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
me maintaining that branch before the svn conversion


177588 24-Mar-2008 ru

Spell "blackhole" correctly and fix one grammar nit.


177362 18-Mar-2008 sam

add reject+blackhole keywords to install entries with RTF_BLACKHOLE
and RTF_REJECT, respectively

PR: bin/79228
Submitted by: Dan Lukes <dan@obluda.cz>
MFC after: 2 weeks


175206 10-Jan-2008 sam

quiet compiler complaint about comparing &v against NULL


173716 18-Nov-2007 jb

Reduce the WARNS levels in a couple of places so that we can enable
-Werror at higher WARNS levels like we did before gcc4 was imported.


167988 28-Mar-2007 glebius

net.link.ether.inet.prune_intvl no longer exists.


167260 06-Mar-2007 kevlo

Use sizeof() for calculating the buffer size instead of hard-coded values.


163305 13-Oct-2006 glebius

- Before doing ioctl(SIOCGIFNETMASK) put the proper IP address into the ifreq,
to obtain correct netmask in case of interface with multiple aliases.
- While here, remove a comment with a bad idea.

PR: bin/42120
Submitted by: Dmitry Frolov <frolov riss-telecom.ru>


162806 29-Sep-2006 ru

Markup fixes.


162795 29-Sep-2006 ru

Sync utility's usage() with manpage's SYNOPSIS.


161395 17-Aug-2006 yar

Enumerate all cases where -i is applicable.

MFC after: 3 days


155471 09-Feb-2006 glebius

Refuse to install invalid ARP entries.

Submitted by: Vitaliy Ovsyannikov <V.Ovsyannikov kr.ru>


154191 10-Jan-2006 brooks

Update usage to reflect the fact that the -d -a now accepts -i <interface>.

Reminded by: ru
Pointy hat: brooks


154162 10-Jan-2006 brooks

Allow the -i <interface> option with -d -a to allow all arp entries for
a given interface to be removed.


153513 18-Dec-2005 glebius

Add a knob to suppress logging of attempts to modify
permanent ARP entries.

Submitted by: Andrew Alcheyev <buddy telenet.ru>


152765 24-Nov-2005 ru

Improve the documentation of "proxyall" knob, somewhat: we do not
proxy for hosts that are reachable through the same interface the
request came in from. This feature is mainly for hosts reachable
through some P2P link, e.g. the gif(4) tunnel.


152303 11-Nov-2005 glebius

Some fixes for last commit.

Submitted by: ru


152274 10-Nov-2005 glebius

- Document last change to ARP behavior.
- Document several undocumented sysctl variables.
- Fix spelling of few diagnostics.


151989 03-Nov-2005 thompsa

List IFT_BRIDGE as a valid type so that arp entries can be properly deleted.

Submitted by: Michal Mertl <mime^traveller.cz>


147172 09-Jun-2005 ru

Commit some cosmetic fixes I developed some time ago, mostly style but
one functional change (fixed exit status from the "get" operation).


147170 09-Jun-2005 glebius

Fix exit status. In rev. 1.48 return logic of rtmsg() was confused. This
made arp(8) command exit status reversed for -s and -S.

Reported by: sem
MFC after: 2 weeks


140748 24-Jan-2005 maxim

o Reorganize the previous delta to make it more style(9) compliant.

Submitted by: ru

o Reduce an amount of memory we ask in advance.


140735 24-Jan-2005 maxim

o Try hard to guess a buffer size for a fast growing routing table.
An approach taken from killall/killall.c.

PR: bin/76075
Submitted by: Dmitrij Tejblum
MFC after: 3 weeks


139270 24-Dec-2004 ru

For VLAN interfaces, print MAC addresses properly.
(Broken in rev. 1.52.)

PR: 75471
Submitted by: Jon Simola
MFC after: 3 days


133248 07-Aug-2004 imp

Per letter dated July 22, 1999, delete clause 3 from code directly
from Berkeley.


131500 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


130574 16-Jun-2004 bms

mdoc(7) police

Submitted by: ru


130568 16-Jun-2004 bms

Document the behaviour of the net.link.ether.inet.proxyall sysctl MIB
variable.

PR: docs/21826
Reviewed by: ru
Requested by: Bernd Luevelsmeyer


130408 13-Jun-2004 dfr

Be smarter about printing non-ethernet link-level addresses.


130246 08-Jun-2004 stefanf

Avoid assignments to cast expressions.

Reviewed by: md5
Approved by: das (mentor)


128192 13-Apr-2004 luigi

Massive cleanup of the code removing global variables to
pass function arguments and results.

Hopefully no functional changes except fixing a couple of
bugs which could cause endless loops if an ioctl() on an
interface would fail.


128187 13-Apr-2004 luigi

Back out previous commit, it was unintentional.
Keep WARNS at 3 though the code does compile with WARNS=5 at least on i386

Noticed by: ru


128186 13-Apr-2004 luigi

Replace ROUNDUP/ADVANCE with SA_SIZE


128181 13-Apr-2004 luigi

Make functions and variables static.
Remove global variables in favour of local ones.
Fix indentation of a couple of switch statements.

Overall, this program badly need cleaning up, as it relies
on information passed around through global variables.


128054 09-Apr-2004 mux

- Change several errx() calls that should have been err() calls.
- Handle empty ARP tables properly.
- Remove register keyword.
- arp(8) is WARNS?=4 clean, so mark it as such to avoid regressions.


120684 03-Oct-2003 bms

mdoc(7) cleanups (use .Va, not .Dv, for sysctls.)

Reviewed by: ru


120681 03-Oct-2003 bms

mdoc(7) cleanup: Break up sentences so that they start on new lines.


120680 03-Oct-2003 bms

Point out the existence of net.link.ether.inet.log_arp_movements.
Add sysctl(8) to the list of cross-referenced manual pages.


120679 03-Oct-2003 bms

Update arp(4) to document the 'arp: foo is on if0 but got reply from
bar on if1' message.

PR: bin/48489
Requested by: ru


117729 18-Jul-2003 yar

Implement a new option: -i, which will allow to limit
the scope of operation to the ARP entries on a particular
interface. It should be useful on machines with numerous
network interfaces, e.g., on inter-VLAN routers.

PR: bin/54151
Submitted by: Dmitry Morozovsky <marck at rinet.ru>
Discussed on: -net
MFC after: 2 weeks


114601 03-May-2003 obrien

Use __FBSDID over rcsid[]. Protect copyright[] where needed.


113091 04-Apr-2003 obrien

style.Makefile(5)


111910 05-Mar-2003 ru

Further fix the syntax by ignoring empty and whitespace-only lines.

Prompted by: Eugene Grosbein <eugen@kuzbass.ru>


109413 17-Jan-2003 ru

Don't hide global `s'.


108314 27-Dec-2002 ru

POLA dictates that in the file designated with the -f option
argument, leading whitespace and empty lines be ignored, and
the `#' character marks the rest of the line as a comment.

PR: bin/45958
MFC after: 3 days


108293 26-Dec-2002 ru

s/pseudo-device/device/


100650 25-Jul-2002 jmallett

Change 'int pid' to 'pid_t pid'

Submitted by: Bruce "Allah" Dang <bruce@research.teamxor.org>


99968 14-Jul-2002 charnier

The .Nm utility


96235 09-May-2002 wpaul

Unbreak this file after the last drive-by committing. We have to
#include route.h before iso88025.h, and we have to dereference
the trld_route array correctly. (NOTE: I'm not altogether sure
that this is really the correct way to traverse this array. This
just eliminates the build warning/error. It may not work right at
runtime, and I have no way to test it since I lack the necessary
hardware.)

Broken by: kbyanc, who gets to wear the pointy hat


96202 08-May-2002 kbyanc

Update ARP to access token-ring source routing information at it's new
location.

Not tested by: me (sorry!)
Sponsored by: NTT Multimedia Communications Labs


94075 07-Apr-2002 murray

GCC 3.1 cleanup - add a break after default: at the end of a switch
statement.


93952 06-Apr-2002 ru

Don't reinvent the wheel now that ether_ntoa(3) has been fixed
to print leading zeros in libc_net/ether_addr.c,v 1.13.

MFC after: 3 days


93911 05-Apr-2002 asmodai

Correct old wording of the arp functionality.
We are long past the stage where we only had ARP working for 10 Mb/s.

PR: 35604
Submitted by: Gary W. Swearingen <swear@blarg.net>
Additional comments by: Mike DeGraw-Bertsch <mbertsch@radioactivedata.org>


93590 01-Apr-2002 mike

Include <string.h> for some prototypes, rather than depending on
pollution from <strings.h>.


92735 20-Mar-2002 mikeh

Fix bugs from previous commit: initialize the correct field and use
the correct local variable.

Caught by: Joachim Isaksson <Joachim.Isaksson@algitech.com>
Pointy hat to: mikeh


92346 15-Mar-2002 ru

Fix a typo.


91880 08-Mar-2002 keramida

- Misc grammar fixes.
- Add `Ar filename' to the description of the -f option.


87629 10-Dec-2001 mikeh

Reorder WARNS line for style.

Pointed out by: bde


87598 10-Dec-2001 mikeh

WARNS=2 cleanup.

Submitted by: Maxime Henrion <mux@qualys.com>
MFC after: 2 weeks


85123 19-Oct-2001 mdodd

Print [fddi] or [atm] tags for ARP addresses on interfaces of that type.


84666 08-Oct-2001 ru

Print interface name for each ARP entry.

Prodded by: Igor Podlesny <poige@morning.ru>
MFC after: 1 week


80022 20-Jul-2001 obrien

Remove GCC'isms in CFLAGS.


79755 15-Jul-2001 dd

Remove whitespace at EOL.


79537 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


77870 07-Jun-2001 ru

- Renamed the ``proxy'' modifier of the -d flag to ``pub'',
to be consistent with the -s flag. Updated documentation
on what this modifier does.

- Added the ``only'' keyword to the -s and -S flags, that
could be used to created "proxy-only" published entries.
Previously, arp(8) created an entry of this type only
in the absence of the route to a destination.

PR: bin/12357
MFC after: 1 week


76216 02-May-2001 yar

Add a missing free(3).

PR: bin/27001
Submitted by: alex <ml-freebsd-net@phobgate.de>,
Matthew Emmerton <matt@gsicomp.on.ca>


75180 04-Apr-2001 yar

Add the VLAN interface type to the list of ARP-capable interface types.


74816 26-Mar-2001 ru

- Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.


73973 08-Mar-2001 billf

zeropad mac address ouput

PR: bin/25584
Submitted by: David Xu <davidx@viasoft.com.cn>
Reviewed by: wollman, billf


73266 01-Mar-2001 imp

h_errno is declared in netdb.h.


73135 27-Feb-2001 ru

Print a diagnostic message if no interface could be determined
when attempting to create a published ARP entry. For example:

# arp -s 1.1.1.1 auto pub

PR: bin/7753
Submitted by: Jonathan Hanna <pangolin@home.com>


72126 07-Feb-2001 ru

mdoc(7) police: Change -filled displays (which just happen
to be the same as -ragged in the current implementation) to
-ragged. With mdocNG, -filled displays produce the correct
output, formatted and justified to both margins.


72052 05-Feb-2001 ru

mdoc(7) police: modifiers should be marked with .Cm, not .Ar.


72051 05-Feb-2001 ru

Make the ``arp -d hostname proxy'' really do something useful.

Specifically, ``proxy'' modifier tells the code to delete only
Proxy ARP entry for the ``hostname''; the usual ARP entry will
be unaffected by this operation.


71905 01-Feb-2001 archie

Revert previous checkin ("proxy" is required in some instances).
Add a note to that effect to the man page.


71854 31-Jan-2001 archie

Fix documentation: "proxy" is not a keyword for the arp(8) command line.


69052 22-Nov-2000 ru

mdoc(7) police: Er macro usage cleanup.


68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


57727 03-Mar-2000 shin

Change type of vars which hold in_addr.s_addr from u_long to u_int32_t,
for more safety on alpha.

Approved by: jkh


56134 17-Jan-2000 jkh

Fix syntax error in previous commit.


56127 16-Jan-2000 kris

Don't overflow buffers.

Reviewed by: audit@freebsd.org


51456 20-Sep-1999 ru

Yet another align.
It will be required if sizeof(struct sockaddr_in) changes in the future.

Not objected to by: wollman


51250 13-Sep-1999 ru

Align sockaddrs passed to/from the routing socket as supposed by kernel.

PR: 12847
Spotted by: Key Teck Sin <ktsin@acm.org>
Reviewed by: wollman


50479 28-Aug-1999 peter

$Id$ -> $FreeBSD$


48791 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde


47753 05-Jun-1999 archie

When incrementing through a SIOCGIFCONF list, enforce a lower limit of
sizeof(ifr->ifr_addr) for the variable length field ifr->ifr_addr.sa_len.
Otherwise the increment will be wrong in certain cases.

Obtained from: Whistle source tree
For the record: Garrett Wollman <wollman@khavrinen.lcs.mit.edu> suggests
SIOCGIFCONF should be dropped in favor of a sysctl mechanism.


46444 04-May-1999 ghelmer

Use Cd macro instead of Em for SYNOPSIS, as do other section 4 pages.
Added $Id$.

PR: docs/10494


44627 10-Mar-1999 julian

Submitted by: Larry Lile
Move the Olicom token ring driver to the officially sanctionned location of
/sys/contrib. Also fix some brokenness in the generic token ring support.

Be warned that if_dl.h has been changed and SOME programs might
like recompilation.


32570 16-Jan-1998 bde

Removed most unused includes of <net/if_var.h> outside the kernel.


31145 13-Nov-1997 julian

Submitted by: Archie@Whistle.com (Archie Cobbs)

allow teh -a option to work with the -d option
thus:
arp -d -a now flushes your arp cache.
also fix the -n option so that -an now works correctly.


29060 03-Sep-1997 charnier

Use err(3). Document -n flag from OpenBSD.
Obtained from: OpenBSD.


28622 23-Aug-1997 steve

Balance single quotes.

PR: docs/4161
Submitted by: Kazuo Horikawa <k-horik@yk.rim.or.jp>


25103 23-Apr-1997 bde

Removed inconsistent declaration of malloc(). `make world' with DESTDIR
set to something other than "/" now actually works.


24428 31-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


22997 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


21264 03-Jan-1997 wollman

Update to match changes in <net/if.h>.


20690 19-Dec-1996 nate

Renamed private copy of ether_aton to my_ether_aton so as to not
conflict with the version in <net/ethernet.h>


20287 10-Dec-1996 wollman

Fix up programs which expect <net/if.h> to include <sys/time.h> to instead
do it themselves. (Some of these programs actually depended on this
beyond compiling the definition of struct ifinfo!) Also fix up some
other #include messes while we're at it.


19839 17-Nov-1996 fenner

Update wording of the one message that was in the DIAGNOSTICS section.
Add three other common messages.

This should be in 2.2 to go with the netinet/if_ether.c rewording.


13977 08-Feb-1996 phk

Clean up warnings.
fix return/exit codes in some cases.
Add -S which will delete any old entry first.
Add "auto" in proxy case, so it finds the right interface automatically.


13123 30-Dec-1995 peter

This commit was generated by cvs2svn to compensate for changes in r13122,
which included commits to RCS files with non-trunk default branches.


9874 03-Aug-1995 jkh

Make arp command actually behave as documented with the addition of a -f
flag. The getopt handling in here is actually pretty bogus (not Phil's
fault - it's original sin) but the general approach is working so I'm not
going to break it. Some small tweaks of my own to add error checking to what
was originally submitted. Strange how nobody noticed that the flag was
documented but completely missing from the code before! [jkh].
Submitted by: Phil Taylor <phil@zipmail.co.uk>


8857 30-May-1995 rgrimes

Remove trailing whitespace.


3110 26-Sep-1994 pst

Remove talk about trailers from arp(8) manual page
Obtained from: NetBSD bin/487


1863 05-Aug-1994 wollman

Get rid of update. Make man page installation work with our scheme
(and rename a few in the process).


1612 28-May-1994 rgrimes

Remove stuff for building manual pages the old way.


1554 26-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1553,
which included commits to RCS files with non-trunk default branches.