浏览代码

Added implementation note on IP routing.

Added reason for min value of 512 on s_PXENV_TFTP_OPEN::PacketSize.
tags/v0.9.3
Michael Brown 19 年前
父节点
当前提交
6e74dc3460
共有 1 个文件被更改,包括 33 次插入2 次删除
  1. 33
    2
      src/include/pxe_api.h

+ 33
- 2
src/include/pxe_api.h 查看文件

@@ -565,8 +565,8 @@ struct s_PXENV_TFTP_OPEN {
565 565
 	/** Requested size of TFTP packets
566 566
 	 *
567 567
 	 * This is the TFTP "blksize" option.  This must be at least
568
-	 * 512, according to the PXE specification, though no reason
569
-	 * is offered.
568
+	 * 512, since servers that do not support TFTP options cannot
569
+	 * negotiate blocksizes smaller than this.
570 570
 	 */
571 571
 	UINT16_t PacketSize;
572 572
 } PACKED;
@@ -1633,6 +1633,37 @@ extern PXENV_EXIT_t undi_loader ( struct s_UNDI_LOADER *undi_loader );
1633 1633
 
1634 1634
 /** @page pxe_notes Etherboot PXE implementation notes
1635 1635
 
1636
+@section pxe_routing IP routing
1637
+
1638
+Several PXE API calls (e.g. pxenv_tftp_open() and pxenv_udp_write())
1639
+allow for the caller to specify a "relay agent IP address", often in a
1640
+field called "gateway" or similar.  The PXE specification states that
1641
+"The IP layer should provide space for a minimum of four routing
1642
+entries obtained from the default router and static route DHCP option
1643
+tags in the DHCPACK message, plus any non-zero giaddr field from the
1644
+DHCPOFFER message(s) accepted by the client".
1645
+
1646
+The DHCP static route option ("option static-routes" in dhcpd.conf)
1647
+works only for classed IP routing (i.e. it provides no way to specify
1648
+a subnet mask).  Since virtually everything now uses classless IP
1649
+routing, the DHCP static route option is almost totally useless, and
1650
+is (according to the dhcp-options man page) not implemented by any of
1651
+the popular DHCP clients.
1652
+
1653
+This leaves the caller-specified "relay agent IP address", the giaddr
1654
+field from the DHCPOFFER message(s) and the default gateway(s)
1655
+provided via the routers option ("option routers" in dhcpd.conf) in
1656
+the DHCPACK message.  Each of these is a default gateway address.
1657
+It's a fair bet that the routers option should take priority over the
1658
+giaddr field, since the routers option has to be explicitly specified
1659
+by the DHCP server operator.  Similarly, it's fair to assume that the
1660
+caller-specified "relay agent IP address", if present, should take
1661
+priority over any other routing table entries.
1662
+
1663
+@bug Etherboot currently ignores all potential sources of routing
1664
+information other than the first router provided to it by a DHCP
1665
+routers option.
1666
+
1636 1667
 @section pxe_x86_modes x86 processor mode restrictions
1637 1668
 
1638 1669
 On the x86 platform, different PXE API calls have different

正在加载...
取消
保存