git: kernel - Add a transparent MAC bridging feature to if_bridg

看板DFBSD_commit作者時間15年前 (2011/02/20 05:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit be02a6a09a5d3fe2845dd2ac135fe8f23cfb1934 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Sat Feb 19 12:57:56 2011 -0800 kernel - Add a transparent MAC bridging feature to if_bridge * Defaults to non-transparent (historical) operation, which is safer. Set link0 to use in transparent MAC mode. * Transparent MAC mode will attempt to retain the MAC source in the link address header when retransmitting a packet on a different interface. Only IP/IPV6 packets will retain the MAC. ARP and other ether types will get the outgoing interface's MAC address, which is usually desireable. * Note that transparent MAC mode is a bit dangerous, which is why it isn't turned on by default. If a packet with the originating MAC winds up being sent out the same interface it came in on with the MAC intact, any switches between the two boxes will suddenly think the originating machine is somewhere else and will get confused. The code tries to avoid this situation. Bridging loops can also cause this sort of behavior even with the spanning tree protocol. link0 is not recommended if you have loops. * Coded because I needed this for braindead at&t uverse routers which do MAC-based security and only allow one IP association for each MAC, and whos firewalls cannot be completely disabled, and which cannot deal with IPs on routed networks (it expects everything to be directly connected on a switched network. sigh). Summary of changes: share/man/man4/bridge.4 | 19 +++++++++++++++++++ sys/net/bridge/if_bridge.c | 36 ++++++++++++++++++++++++++++++++++++ sys/net/pf/pf.c | 8 ++++++++ sys/sys/mbuf.h | 13 ++++++++++++- 4 files changed, 75 insertions(+), 1 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/be02a6a09a5d3fe2845dd2ac135fe8f23cfb1934 -- DragonFly BSD source repository
文章代碼(AID): #1DO3RONF (DFBSD_commit)