PERFORCE change 128598 for review

Kip Macy kmacy at FreeBSD.org
Sat Nov 3 17:12:36 PDT 2007


http://perforce.freebsd.org/chv.cgi?CH=128598

Change 128598 by kmacy at kmacy:storage:toestack on 2007/11/04 00:12:27

	add new flags for shutdown, some extra accounting sequence numbers
	and purging of WR queue

Affected files ...

.. //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#4 edit

Differences ...

==== //depot/projects/toestack/sys/dev/cxgb/ulp/tom/cxgb_tom.h#4 (text+ko) ====

@@ -78,8 +78,10 @@
 #define T3C_DEV(sk) ((TOM_DATA(TOE_DEV(sk)))->cdev)
 #define TOM_TUNABLE(dev, param) (TOM_DATA(dev)->conf.param)
 
-#define TP_DATASENT         (1 << 0)
-#define TP_TX_WAIT_IDLE     (1 << 1)
+#define TP_DATASENT          (1 << 0)
+#define TP_TX_WAIT_IDLE      (1 << 1)
+#define TP_FIN_SENT          (1 << 2)
+#define TP_ABORT_RPL_PENDING (1 << 3)
 
 struct toepcb {
 	struct toedev *tp_toedev;
@@ -95,8 +97,11 @@
 	int tp_mss_clamp;
 	int tp_qset;
 	int tp_flags;
+	tcp_seq tp_delack_seq;
+	tcp_seq tp_rcv_wup;
+	tcp_seq tp_copied_seq;
+	uint64_t tp_write_seq;
 
-	
 	volatile int tp_refcount;
 	
 	struct tcpcb *tp_tp;
@@ -113,6 +118,15 @@
 	mbufq_init(&toep->wr_list);
 }
 
+static inline void purge_wr_queue(struct tcpcb *tp)
+{
+	struct toepcb *toep = tp->t_toe;
+	struct mbuf *m;
+	
+	while ((m = mbufq_dequeue(&toep->wr_list)) != NULL) 
+		m_freem(m);
+}
+
 static inline void enqueue_wr(struct tcpcb *tp, struct mbuf *m)
 {
 	struct toepcb *toep = tp->t_toe;


More information about the p4-projects mailing list